CN104051024A - 用于内建错误更正的储存装置及其操作方法 - Google Patents
用于内建错误更正的储存装置及其操作方法 Download PDFInfo
- Publication number
- CN104051024A CN104051024A CN201310554995.1A CN201310554995A CN104051024A CN 104051024 A CN104051024 A CN 104051024A CN 201310554995 A CN201310554995 A CN 201310554995A CN 104051024 A CN104051024 A CN 104051024A
- Authority
- CN
- China
- Prior art keywords
- data
- buffering
- paging
- ecc
- logic
- 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
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/1044—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 with specific ECC/EDC distribution
-
- 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
- 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
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明公开了一种用于内建错误更正的储存装置及其操作方法,该装置包括一存储器阵列,其储存一数据以及对应于该数据的多个错误更正码、一数据路径、一多层缓冲结构,其位于该存储器阵列与该I/O数据路径之间。存储器阵列包括用于分页模式运作的多个数据线。缓冲结构包括具有链接至该多个数据线中各自数据线的多个存储单元的一第一缓冲、耦合至该第一缓冲中的该多个存储单元的一第二缓冲以及耦合至该第二缓冲以及该输入/输出数据路径的一第三缓冲。装置包括逻辑,其耦合至该多层缓冲结构,以对分页读取或分页写入运作中至少一运作,透过该多层缓冲结构对在该存储器阵列与该输入/输出数据路径之间移动的分页数据施行一逻辑程序。
Description
技术领域
本申请案要求享有2013年3月12日提出的美国临时申请案61/776,835的权益,其中该申请案内容在这里都被全部引入作为参考。
本发明是关于集成电路存储器装置以及对电路使用错误更正码(ECC),尤其涉及一种用于内建错误更正的储存装置及其操作方法。
背景技术
高密度存储器装置被设计为包括闪存位的阵列或其他存储器位的形式。举例来说,存储器包括存储器阵列,其可储存分页数据以及对应的分页数据的错误更正码。装置包括错误更正码逻辑,其用ECC侦测及更正对应的分页数据的错误。装置包括耦合于存储器阵列、ECC逻辑及数据路径的分页缓冲。分页缓冲包括第一缓冲,第一缓冲用于读取运作的感测放大器、用于写入运作的编程缓冲用于分页数据的数据的读取及写入运作的快取。
用于读取运作,分页数据的数据及用于分页的ECC从存储器阵列被移动至第一缓冲,然后从第一缓冲至快取。如果ECC逻辑被开启,ECC逻辑使用对应的ECC于数据上且更正储存于快取中的数据。更正的数据从快取被移至数据路径。然而,从下一页的分页数据的数据在快取中更正的数据从快取被移至数据路径以前无法被移动至快取。原因是存储器装置较低的读取吞吐量。
使用内建ECC的存储器装置的读取吞吐量需要被改善。
发明内容
本发明提供了一种装置,该装置包括:存储器阵列,其储存一数据以及对应于该数据的多个错误更正码以及输入/输出数据路径;一多层缓冲结构,其位于该存储器阵列与该输入/输出数据路径之间;存储器阵列包括用于分页模式运作的多个数据线;缓冲结构包括具有链接至该多个数据线中各自数据线的多个存储单元的一第一缓冲、耦合至该第一缓冲中的该多个存储单元的一第二缓冲以及耦合至该第二缓冲以及该输入/输出数据路径的一第三缓冲;该装置还包括逻辑,其耦合至该多层缓冲结构,以对分页读取或分页写入运作中至少一运作,透过该多层缓冲结构对在该存储器阵列与该输入/输出数据路径之间移动的分页数据施行一逻辑程序。
该装置还包括一接口,其位于该第一缓冲与第二缓冲之间,该接口提供位于于该第一缓冲与第二缓冲之间、在一读取或写入循环的数据一分页移动。该装置还包括一接口,其位于该第二缓冲与第三缓冲之间,该接口提供位于于该第二缓冲与第三缓冲之间、在一读取或写入循环的数据一分页移动。
第三缓冲包括一第一存储器单元,其由一储存总线耦合至该第二缓冲、一第二存储器单元,其由该储存总线或一第二总线耦合至该第二缓冲,以及一逻辑,当从该第一存储器单元与该第二存储器单元移动数据至该输入/输出数据路径时,从该第二缓冲移动数据至该第一存储器单元与该第二存储器单元其中之一。
装置包括一错误更正码逻辑,用对应的该多个错误更正码于该数据中侦测与更正错误。装置包括耦合于多层缓冲结构、ECC逻辑及存储器阵列的控制器。ECC逻辑包括逻辑以自存储器阵列移动序列分页的数据。在重叠时间运作中,第一分页的错误更正数据从第三缓冲被移动至数据路径、第二分页的错误更正数据从第二缓冲被移动至第三缓冲以及第三分页的数据从第三缓冲移动至第二缓冲。在数据从第二缓冲被移出之前,ECC逻辑被用于接续的分页数据的错误侦测。
在该数据从该第三缓冲被移出之前或该数据从该第一存储器单元与该第二存储器单元被移动至该输入/输出数据路径时,该错误更正码逻辑被用于对该接续的分页数据进行错误更正。
装置包括一逻辑,当从该输入/输出数据路径移动数据至该第一存储器单元与该第二存储器单元时,从该第一存储器单元与该第二存储器单元其中之一移动数据至该第二缓冲。
装置包括一ECC逻辑,其用于为数据计算ECC;以及该逻辑包括一控制器,其耦合至该多层缓冲结构,以及该ECC逻辑包括一逻辑,其用于时间重叠操作从该数据路径移动一第二分页至该第三缓冲、用ECC逻辑计算的ECC从该第三缓冲移动第二分页的数据至该第二缓冲、从该第二缓冲移动该第二分页的数据至该第一缓冲,以及在数据被移出该第二缓冲前在该序列中运用该ECC逻辑于数据分页中计算ECC。
本发明的其他面向的优点可见于图式、发明说明及专利申请范围。
附图说明
图1为使用内建错误更正码(ECC)(已知技术)的存储器装置的方块图。
图2是使用内建错误更正ECC逻辑的存储器装置的第一实施例的简化方块图。
图3示第一实施例的读取运作的范例流程图。
图4A是关联于ECC被启动的第一实施例的读取运作的范例时序图。
图4B是关联于ECC被启动的第一实施例的替代读取运作的范例时序图。
图4C是关联于ECC没被启动的第一实施例的读取运作的范例时序图。
图5是关联于用第一实施例说明读取运作的示范流程图。
图6是关联于ECC被启动的第一实施例的写入运作的范例时序图。
图7是使用内建错误更正ECC逻辑的存储器装置的第二实施例的简化方块图。
图8是第二实施例的读取运作示范流程图。
图9是关联于ECC被启动的第二实施例的读取运作的范例时序图。
图10是关联于ECC没被启动的第二实施例的读取运作的范例时序图。
图11是关联于用第二实施例说明写入运作的示范流程图。
图12是关联于ECC被启动的第二实施例的写入运作的范例时序图。
图13是关联于ECC没被启动的第二实施例的写入运作的范例时序图。
图14是依据实施例的集成电路存储器装置的简化方块图。
【符号说明】
100:存储器装置 110:存储器阵列
112:储存数据 114:错误更正码
150:错误更正码逻辑 170:数据路径
120:分页缓冲 121:第一缓冲
122:第一缓冲ECC缓冲 123:储存缓冲
124:ECC缓冲 160:输入/输出(IO)系统
200:存储器装置 212:储存数据
210:存储器阵列 241:错误更正码ECC
270:数据路径 250:ECC逻辑
280:分页缓冲 220:第一缓冲
230:第一缓冲 260:IO系统
240:第二缓冲 241:第一存储器单元
242:第二存储器单元
700:存储器装置 712:储存数据
710:存储器阵列 714:错误更正码ECC
750:ECC逻辑 780:分页缓冲
730:第一缓冲 740:第二缓冲
735:ECC缓冲 745:ECC缓冲
760:IO系统 720:第一缓冲
770A:第一数据路径 770B:第二数据路径
1400:集成电路 1460:存储器阵列
1440:列译码器 1445:字线
1465:位线 1450:排译码器
1430:地址总线 1470:栏译码器
1480:第一缓冲 1485:数据线
1490:多层缓冲 1493:数据排
1491:IO电路 1405:数据排
1497:IO电路 1495:ECC逻辑
1475:数据线
具体实施方式
本发明的实施例的发明说明由图1至图14所展示。
如本说明书中所使用的,位是存储器阵列中数字数据的基本单位。位只可以有两种不同的值:1或0。字节是存储器阵列中数字数据的单位。一字节包含8个位。字组是存储器阵列中数字数据的单位。一字组包含2个字节,对应16个位。这里所用的分页意指储存在第一快取或第二快取的数据量,其中ECC逻辑被用于计算写入运作的ECC或是用ECC对读取运作的侦测及更正错误。分页可具有像是2048个字节,每个字节有8个位。多层缓冲结构中的第二分页或第三分页意指ECC逻辑应用在数据分页的相关顺序,其中顺序无关于存储器阵列中的数据的任何逻辑或实体位置。
图1为使用内建错误更正码(ECC)(已知技术)的存储器装置的方块图。存储器装置100包括存储器阵列110,其为对应的第一缓冲数据112及错误更正码114。装置100包括错误更正码逻辑150,其使用ECC侦测与更正对应的数据中的错误。装置100包括耦合于存储器阵列110、ECC逻辑150及数据路径170的分页缓冲120。分页缓冲120包括第一缓冲区块121中的感测放大器与编程缓冲以及用于对应由感测放大器与编程缓冲第一缓冲所储存的数据的ECC的第一缓冲ECC缓冲缓冲122。感测放大器与编程缓冲第一缓冲耦合于存储器阵列110、用于处理数据分页中的数据的快取123以及储存快取123中对应的数据的ECC的ECC缓冲124。数据路径170耦合于输入/输出(IO)系统160,其可耦合于装置100外部的电路。
为了读取的运作,存储器阵列110中的数据分页的数据112以及为了该数据的ECC114各别从存储器阵列110移至第一缓冲区块121中的感测放大器以及第一缓冲ECC缓冲缓冲122。数据分页的数据与ECC各别从感测放大器第一缓冲ECC缓冲移至快取123及ECC缓冲124。如果ECC逻辑被启动,则ECC逻辑150被应用于快取123中的数据上,使用对应的ECC以进行错误更正。更正的数据从快取123经由数据路径170及IO系统160而输出。如果ECC逻辑没有被启动,数据从快取123移动到数据路径170,不会更正错误。
如果ECC逻辑被启动,在ECC逻辑150完成快取123中的数据的错误更正后,下一个数据分页的数据不能被移动到快取123,而快取123中的更正的数据已被从快取123移动到数据路径170。分页的宽度(即数个位)可以远大于数据路径170的宽度。此状况下,从快取移出数据需要许多个周期。
为了写入的运作,数据从装置100外部的来源经由IO系统160及数据路径170移动到快取123。如果ECC逻辑150被启动,使用ECC逻辑150计算的ECC,数据从快取123移动到第一缓冲区块121中的编程缓冲。如果ECC逻辑没有被启动,数据没有ECC就被从快取123移动到区块第一缓冲121中的编程缓冲。存储器阵列110以区块第一缓冲121中的编程缓冲的数据而编程。
如果ECC逻辑被启动,因为存储器装置的写入吞吐量被阵列编程时间所支配,存储器阵列可以区块121中的编程缓冲第一缓冲的数据分页的数据而编程,而下一数据分页的数据可从数据路径170被移动到快取123,然后ECC逻辑150可为下一数据分页的快取123中的数据计算ECC,故运用ECC逻辑导致存储器装置的写入吞吐量对于读取吞吐量有较少的计时影响。
图2是使用内建错误更正ECC逻辑的存储器装置的第一实施例的简化方块图。存储器装置200包括储存数据212的存储器阵列210及对应该数据的错误更正码ECC214、位于存储器阵列与输入/输出数据路径270之间的多层缓冲结构290。存储器阵列包括用于分页模式运作的多个数据线211。缓冲结构包括具有链接至该多个数据线中各自数据线的多个存储单元的一第一缓冲220、耦合至该第一缓冲中的该多个存储单元的一第二缓冲230以及耦合至该第二缓冲以及该输入/输出数据路径的一第三缓冲240。装置包括逻辑,其耦合至该多层缓冲结构,以对分页读取或分页写入运作中至少一运作,透过该多层缓冲结构对在该存储器阵列与该输入/输出数据路径之间移动的分页数据施行一逻辑程序。装置200包括一接口,其位于该第一缓冲220与第二缓冲230之间,该接口提供位于于该第一缓冲与第二缓冲之间、在一读取或写入循环的数据一分页移动。装置200包括一接口,其位于该第二缓冲230与第三缓冲240之间,该接口提供位于于该第二缓冲与第三缓冲之间、在一读取或写入循环的数据一分页移动。
第三缓冲240包括一第一存储器单元241,其由一储存总线耦合至该第二缓冲230、一第二存储器单元242,其由该储存总线或一第二总线耦合至该第二缓冲,以及一逻辑,当从该第一存储器单元与该第二存储器单元移动数据至该输入/输出数据路径时,从该第二缓冲移动数据至该第一存储器单元与该第二存储器单元其中之一。
装置包括错误更正码逻辑,用对应的多个ECC于该数据中侦测与更正错误。装置包括耦合于多层缓冲结构290、ECC逻辑250及存储器阵列210的控制器。ECC逻辑包括逻辑以自存储器阵列移动序列分页的数据。在重叠时间运作中,第一分页的错误更正数据从第三缓冲240被移动至数据路径270、第二分页的数据从第二缓冲230被移动至第三缓冲240以及第三分页的数据从第一缓冲220移动至第二缓冲230。在数据从第二缓冲被移出之前,ECC逻辑250被用于接续的分页数据的错误侦测。
在该数据从该第三缓冲240被移出之前,该错误更正码逻辑250被用于对该接续的分页数据进行错误更正。
装置200包括一逻辑,当从该输入/输出数据路径移动数据至该第一存储器单元241与该第二存储器单元242时,从该第一存储器单元与该第二存储器单元其中之一移动数据至该第二缓冲230。
装置包括一ECC逻辑250,其用于为数据计算ECC;以及该逻辑包括一控制器,其耦合至该多层缓冲结构,以及该ECC逻辑包括一逻辑,其用于时间重叠操作从该数据路径270移动一第二分页至该第三缓冲240、用ECC逻辑计算的ECC从该第三缓冲240移动第二分页的数据至该第二缓冲230、从该第二缓冲230移动该第二分页的数据至该第一缓冲220,以及在数据被移出该第二缓冲230前在该序列中运用该ECC逻辑于数据分页中计算ECC。
存储器装置200上的ECC逻辑250可以支持任何合适的ECC方案。典型的ECC方案包括汉明码、延伸汉明码、多重级奇偶检测码、里德所罗门码、BCH(Bose-Chaudhuri-Hocquenghem)码、涡轮码以及低密度奇偶检测码。错误更正码ECC的长度与特定数据组有关,依据三个因素:(1)ECC方案;(2)最大更正的位数;(3)一分页的数据长度。BCH码是一种循环错误更正码,可更正多位错误。例如,在8Kb数据分页中提供40位的最大更正位数,BCH ECC码的长度为560位。另外一个例子,在8Kb数据分页中提供24位的最大更正位数,BCH ECC码的长度为336位。
ECC逻辑250耦合于具有宽度Z位的数据路径270。数据路径270耦合于具有第二缓冲230、第三缓冲240以及具有宽度Z位的IO系统260,其中Z可为8或6。在读取运作中,如果ECC逻辑250被启动,数据从第三缓冲240经由数据路径270移动至IO系统260。在读取运作中,如果ECC逻辑250没有被启动,数据从第二缓冲230经由数据路径270移动至IO系统260。在写入运作中,数据从IO系统260经由数据路径270移动至第三缓冲240。具有关联的控制逻辑的数据路径270配置第二缓冲230与第三缓冲240以允许重叠时间运作,其与第一与第二快取之间以及两快取之一与IO系统260之间的分业序列移动有关。例如,在写入模式中中,重叠时间运作可包括当输入第二数据分页的数据至第三缓冲240时,以第一缓冲220的第一数据分页的数据对存储器阵列210予以编程。在读取模式中,重叠时间运作可包括在从存储器阵列210移动数据至第一缓冲220时,从第三缓冲240输出数据。
第一缓冲220经由X数据线耦合于存储器阵列210,经由Y位的总线耦合于分页缓冲280的第二缓冲230,其中第二缓冲230的宽度同等于。
第二缓冲230可被放入高速缓存,该高速缓存具有一列多栏的结构。例如,第二缓冲230可有1列2048栏或2048位的宽度。第一存储器单元241以及第二存储器单元242可被放入具有多列多栏结构的SRAM(staticrandom access memory)。第一存储器单元241以及第二存储器单元242的宽度可同等于数据路径270的宽度以及最多至第二缓冲230的宽度的空间。
图3示第一实施例的读取运作的范例流程图。步骤310,将分页的数据及数据对应的ECC从存储器阵列(如图2的210)分别被移动到第一缓冲(如图2的220)及ECC缓冲(如图2的225)。步骤320,在错误更正使用ECC前,数据与ECC从第一缓冲(如220及225)被移动到分页缓冲280的第一快取(如图2的230),其中ECC被储存在关联于第一快取的ECC快取(如图2的235)中。
步骤330,如果ECC逻辑250被启动,ECC逻辑使用对应的ECC在第一快取中对数据分页的数据予以侦查错误,而数据分页的数据在第二快取中(如图2的240)从第一快取(如图2的230)被移动至第一存储器单元(如图2的241)或第二存储器单元(如图2的242)。在步骤330后,数据分页的数据在第二快取,ECC逻辑具有来自用于错误更正的错误更正的信息。在数据被移出第二快取之前或是当数据被从第一或第二存储器单元其中之一被移动至数据路径,依据存储器装置的运作规格所允许的时间而定,错误更正可被执行于数据上。如果时间足够,ECC逻辑被用于第二快取中的数据(步骤340),然后数据从第二快取被移动至数据路径(如图2的270)(步骤350)。如果时间不够,当数据从第二缓冲被移动至数据途径(如图2的270)时,ECC逻辑被用于数据上(步骤360)。如果ECC逻辑没有被启动,数据分页中的数据可从第一缓冲被移动至数据路径(如图2的270),绕过第二缓冲(步骤370)。
图4A是关联于ECC被启动的第一实施例的读取运作的范例时序图。时序图说明在第一期间T1与第二期间T2时用于多重数据分页的重叠时间读取运作。第一期间T1与第二时间T2可重复读取更多数据分页。第一期间T1与第二时间T2交替使用第二缓冲中(如图2的240)第一存储器单元(如图2的241)及第二存储器单元(如图2的242)。时序图也说明在第一期间之前的初始期间T0的读取运作。RDBYB讯号指示存储器装置200是否已准备好输出数据至数据路径(如图2的270)。时序图中的读取运作对应图3的流程图中说明的步骤310至340。
在图4A的第一期间T1的期间,不同的重叠时间读取运作可被执行于三页数据分页的数据上。第一分页的数据,分页1,从第一存储器单元(如图2的241)被移动至数据路径(如图2的270),接续着等待时间,TW,用于输出下一数据分页(步骤350)。第二分页的数据,分页2,从第一缓冲(如图2的220)被移动至第一缓冲(如图2的230)(步骤320)。当分页2的数据从第一缓冲被移动至第二缓冲中的第二存储器单元(如图2的242)时,ECC逻辑接续地被应用在分页2的数据上,使用对应的ECC在第一缓冲中进行错误更正(步骤330)。在步骤330后,分页2的数据在第二存储器单元中,ECC逻辑具有来自用于错误更正的错误更正的信息。在数据被移出第二缓冲之前,ECC逻辑可接续地被用于第二存储器单元中的分页2的数据的错误更正(步骤340)。在分页2从第一缓冲被移出至第一缓冲后,用于第三分页,分页3,的数据以及对应的ECC从存储器阵列(如图2的210)被移动至第一缓冲(步骤310)。如图4A所用,「330-1」中的「-1」指出第二存储器单元被步骤330所使用。相似的,「340-1」中的「-1」指出第二存储器单元被步骤340所使用。
故ECC逻辑被用于分页2的数据上(步骤330-2),而用于分页3的数据及对应ECC从存储器阵列被移动至第一缓冲(步骤310),在相同的第一期间T1,分页1的数据从第二缓冲中的第一存储器单元被移动至数据路径。相应地,因分页2与分页3的读取运作不需额外时间,所以存储器装置的读取吞吐量被改善。
在图4A中接续于T1的第二期间T2的期间,不同时间重叠读取运作可被执行于三页数据分页的数据上。分页2的数据从第二缓冲中的第二存储器单元(如图2的242)被移动至数据路径(如图2的270),接续着等待时间,TW,用于输出下一数据分页(步骤350)。分页3的数据从第一缓冲(如图2的220)被移动至第一缓冲(如图2的230)(步骤320)。当分页3的数据从第一缓冲被移动至第二缓冲中的第一存储器单元(如图2的241)时,ECC逻辑接续地被应用在分页3的数据上,使用对应的ECC在第一缓冲中进行错误更正(步骤330)。在步骤330后,分页3的数据在第一存储器单元中,ECC逻辑具有来自用于错误更正的错误更正的信息。在数据被移出第二缓冲之前,ECC逻辑可接续地被用于第一存储器单元中的分页3的数据的错误更正(步骤340)。在分页3从第一缓冲被移出至第一缓冲后,用于第四分页,分页4,的数据以及对应的ECC从存储器阵列(如图2的210)被移动至第一缓冲(步骤310)。如图4A所用,「330-1」中的「-1」指出第一存储器单元被步骤330所使用。相似的,「340-1」中的「-1」指出第一存储器单元被步骤340所使用。
故ECC逻辑被用于分页3的数据上(步骤330-1),而用于分页4的数据及对应ECC从存储器阵列被移动至第一缓冲(步骤310),在相同的第一期间T2,分页2的数据从第二缓冲中的第二存储器单元被移动至数据路径。相应地,因分页3与分页4的读取运作不需额外时间,所以存储器装置的读取吞吐量被改善。
在图4A中第一期间T1之前的初始时间T0的期间,用于第一分页,分页1,的数据及对应的ECC从存储器阵列被移动至第一缓冲(步骤310)。接续地,分页1的数据从第一缓冲被移动至第一缓冲(步骤320)。接续地,当分页1的数据从第一缓冲被移动至第二缓冲中的第一存储器单元(如图2的241)时,ECC逻辑被应用在分页1的数据上,使用对应的ECC于第一缓冲中侦测错误(步骤330)。在步骤330后,分页1的数据在第一存储器单元中,ECC逻辑具有来自用于错误更正的错误更正的信息。在数据被移出第二缓冲之前,ECC逻辑可被用于第一存储器单元中的分页1的数据的错误更正(步骤340)。在分页1从第一缓冲被移出至第一缓冲后,用于第二分页,分页2,的数据及对应的ECC从存储器阵列被移动至第一缓冲(步骤310)。
例如,初始期间T0可从约45μs(微秒)至约70μs。输出数据分页的时间(例如:在T1期间的分页1或在T2期间的分页2)依据输出频率频率以及数据分页中的字节数。例如,如果输出频率有25ns(纳秒)的期间且数据分页中有2048个字节,输出数据分页的时间以每输出频率期间的一字节的速率约50μs(=25ns×2048)或以每输出频率期间的一字节的速率约25μs(=25ns×2048/2)。从存储器阵列读取数据分页至第一缓冲的时间(例如:在T1期间的分页3)约20μs。从第一缓冲(例如:图2的220)移动数据分页(例如:步骤320的T1期间的分页2)至第一缓冲(例如:图2的230)的时间可为约3μs。应用ECC逻辑在数据分页以进行错误侦测及错误更正的时间范围从约20μs至约45μs。
一般来说,从存储器阵列(步骤310)读取数据分页(如分页3)的数据所需的时间可长于或短于在相同期间(如T1)运用ECC逻辑在其他数据分页(如分页2)进行错误侦测其错误更正所需的时间(步骤330及340),依据已运用ECC逻辑的数据分页(如分页2)中的错误位数而定。
图4B是关联于ECC被启动的第一实施例的替代读取运作的范例时序图。有关图4A的说明可运用至图4B。差异在于,图4A中,在数据被移出第二缓冲前,ECC逻辑被用于分页数据的错误更正,而图4B中,当数据从第二缓冲中的第一存储器单元或第二存储器单元其中之一被移动至数据路径时,ECC逻辑被用于分页数据的错误更正。时序图中的读取运作对应至图3的流程图中的步骤310、320、330及360。
在图4B中的第一期间T1,当数据从第一存储器单元被移动至数据路径(如图2的270)时,ECC逻辑被用于第二缓冲中的第一存储器单元(如图2的241)中的分页数据的错误更正,接续着等待时间,TW,用于输出下一数据分页(步骤360)。第二分页,分页2,的数据从第一缓冲(如图2的220)被移动至第一缓冲(如图2的230)(步骤320)。当分页2的数据从第一缓冲被移动至第二缓冲中的第二存储器单元(如图2的242)时,ECC逻辑接续地被应用在分页2的数据上,使用对应的ECC在第一缓冲中进行错误更正(步骤330)。在步骤330后,分页2的数据在第二存储器单元中,ECC逻辑具有来自用于错误更正的错误更正的信息。在分页2从第一缓冲被移出至第一缓冲后,用于第三分页,分页3,的数据以及对应的ECC从存储器阵列(如图2的210)被移动至第一缓冲(步骤310)。如图4B所用,「330-2」中的「-2」指出第一存储器单元被步骤330所使用。
在图4B中接续于T1的第二期间T2的期间,当数据从第二存储器单元被移动至数据路径(如图2的270)时,ECC逻辑被用于第二缓冲中的第二存储器单元(如图2的第二存储器单元242)中的分页2的数据的错误更正,接续着等待时间,TW,用于输出下一数据分页(步骤360)。分页3的数据从第一缓冲(如图2的220)被移动至第一缓冲(如图2的230)(步骤320)。当分页3的数据从第一缓冲被移动至第二缓冲中的第一存储器单元(如图2的241)时,ECC逻辑接续地被应用在分页3的数据上,使用对应的ECC在第一缓冲中进行错误更正(步骤330)。在步骤330后,分页3的数据在第一存储器单元中,ECC逻辑具有来自用于错误更正的错误更正的信息。在分页3从第一缓冲被移出至第一缓冲后,用于第四分页,分页4,的数据以及对应的ECC从存储器阵列(如图2的210)被移动至第一缓冲(步骤310)。如图4B所用,「330-1」中的「-1」指出第一存储器单元被步骤330所使用。
在图4B中第一期间T1之前的初始时间T0的期间,用于第一分页,分页1,的数据及对应的ECC从存储器阵列被移动至第一缓冲(步骤310)。接续地,分页1的数据从第一缓冲被移动至第一缓冲(步骤320)。接续地,当分页1的数据从第一缓冲被移动至第二缓冲中的第一存储器单元(如图2的241)时,ECC逻辑被应用在分页1的数据上,使用对应的ECC于第一缓冲中侦测错误(步骤330)。在步骤330后,分页1的数据在第一存储器单元中,ECC逻辑具有来自用于错误更正的错误更正的信息。在分页1从第一缓冲被移出至第一缓冲后,用于第二分页,分页2,的数据及对应的ECC从存储器阵列被移动至第一缓冲(步骤310)。
图4C是关联于ECC没被启动的第一实施例的读取运作的范例时序图。时序图说明在第一期间T1用于多重数据分页的重叠时间读取运作。第一期间T1可重复读取更多数据分页。例如,第二期间T2重复T1的读取运作用于接续的数据分页。时序图也说明在第一期间之前的初始期间T0的读取运作。RDBYB讯号指示存储器装置200是否已准备好输出数据至数据路径(如图2的270)。时序图中的读取运作对应图3的流程图中说明的步骤310至340。
在图4C中的第一期间T1之前的初始期间T0,第一分页,分页1,的数据从存储器阵列被移动至第一缓冲(步骤310)。然后分页1的数据从第一缓冲被移动至第一缓冲(步骤320)。
在图4C的第一期间T1,分页1的数据从第一缓冲(如图2的230)被移动至数据路径(如图2的270),接续着等待时间,TW,用于输出下一数据分页(步骤370)。第二分页的数据,分页2,从存储器阵列被移动至第一缓冲(步骤310),然后从第一缓冲(如图2的220)至第一缓冲(如图2的230)(步骤320)。在第二期间T2,在分页2从第一缓冲被移动至第一缓冲(步骤310)后,第三分页,分页3,的数据从存储器阵列(如图2的210)被移动至第一缓冲。
控制器包括逻辑,用于在写入模式中将接续的分页的数据移动至存储器阵列。在写入模式中中,使用重叠时间运作,用ECC将第一分页的数据从第一缓冲被移出至存储器阵列(如图2的220),第二分页的数据从数据路径(如图2的270)被移动至第二缓冲(如图2的240),然后用ECC逻辑(如图2的250)计算的ECC将第二分页的数据从第二缓冲移动至第一缓冲(如图2的230),然后在第一分页的数据用ECC从第一缓冲被移出至存储器阵列后,用ECC将第二分页的数据从第一缓冲移动至第一缓冲。ECC逻辑被用于计算数据被移出第一缓冲之前的接续分页的数据的ECC。
图5是关联于用第一实施例说明读取运作的示范流程图。数据从数据路径(如图2的270)被移动至第二缓冲(如图2的240)中的第一存储器单元(如图2的241)或第二存储器单元(如图2的242)(步骤510)。
如果ECC逻辑被启动,用ECC逻辑计算的ECC将数据从第二缓冲中的第一存储器单元或第二存储器单元被移动至第一缓冲(如图2的230)(步骤520及525)。然后用ECC将数据从第一缓冲被移动至第一缓冲(如图2的220)(步骤530),然后用ECC从第一缓冲移动至存储器阵列(如图2的210)(步骤540)。对于第一实施例,当数据从数据路径被移动至第二缓冲中的第一存储器单元(如图2的241)或第二存储器单元(如图2的241)时,ECC逻辑被用于计算数据的ECC。
如果ECC逻辑没有被启动,数据从第二缓冲的第一存储器单元或第二存储器单元被移动至第一缓冲(步骤525),然后从第一缓冲至第一缓冲(步骤530)然后不用ECC从第一缓冲移动至存储器阵列(步骤540)。
图6是关联于ECC被启动的第一实施例的写入运作的范例时序图。时序图中的写入运作对应于图5中的流程图的步骤510、520、530及540。时序图说明在第一期间T1及第二期间T2对多重分页数据的写入运作。第一期间T1与第二期间T2可重复写入更多数据分页。第一期间T1与第二时间T2交替使用第二缓冲中(如图2的240)第一存储器单元(如图2的241)及第二存储器单元(如图2的242)。时序图也说明在第一期间之前的初始期间T0的读取运作。RDBYB讯号指示存储器装置200是否已准备好输入数据至数据路径(如图2的270)。
在图6的第一期间T1的期间,不同的重叠时间写入运作可被执行于两页数据分页的数据上。用ECC将第一分页,的数据,分页1从第一缓冲移动至存储器阵列(步骤540)。第二分页的数据,分页2,从数据路径被移动至第二缓冲中的第一存储器单元(步骤510),然后用ECC逻辑计算的ECC从第二缓冲中的第一存储器单元移动至第一缓冲(步骤520及525),然后在分页1的数据从第一缓冲被移出至存储器阵列后,用ECC从第一缓冲移动至第一缓冲(步骤530)。ECC逻辑被用于计算当数据从第二缓冲中的第一存储器单元(如图2的241)被移动至第一缓冲(如图2的230)时的分页2的数据的ECC。ECC逻辑计算的ECC被储存于ECC缓冲235,如图2所示。
故在分页1的数据被移动至存储器阵列的相同的第一期间T1,分页2的数据从数据路径被移动至第二缓冲中的第一存储器单元,然后用ECC逻辑计算的ECC移至第一缓冲。因此,分页数据(如图6的分页2)的ECC写入运作对存储器装置的写入吞吐量几乎没有计时影响。
在图6中接续于第一期间T1的第二期间T2,不同的重叠时间写入运作可被执行于两页数据分页的数据上。用ECC将分页2的数据从第一缓冲移动至存储器阵列(步骤540)。第三分页的数据,分页3,从数据路径被移动至第二缓冲中的第二存储器单元(步骤510),然后用ECC逻辑计算的ECC从第二缓冲中的第二存储器单元移动至第一缓冲(步骤520及525),然后在分页2的数据从第一缓冲被移出至存储器阵列后,用ECC从第一缓冲移动至第一缓冲(步骤530)。ECC逻辑被用于计算当数据从第二缓冲中的第二存储器单元(如图2的242)被移动至第一缓冲(如图2的230)时的分页3的数据的ECC。ECC逻辑计算的ECC被储存于ECC缓冲235,如图2所示。
故在分页2的数据被移动至存储器阵列的相同的第二期间T2,分页3的数据从数据路径被移动至第二缓冲中的第二存储器单元,然后用ECC逻辑计算的ECC移至第一缓冲。因此,分页数据(如图6的分页2)的ECC写入运作对存储器装置的写入吞吐量几乎没有计时影响。
在图6中的第一期间T1之前的初始期间T0,初始分页的数据,分页0,从数据路径(如图2的270)被移动至第二缓冲的第一存储器单元(如图2的241),然后用ECC逻辑(如图2的250)计算的ECC从第二缓冲的第一存储器单元移动至第一缓冲(如图2的230),然后用ECC将分页0的数据从第一缓冲移出至存储器阵列。
在相同的初始时间T0,在初始分页的数据,分页0,被移动至第一存储器单元后,第一分页的数据,分页1,从数据路径被移动至第二缓冲的第二存储器单元(如图2的242),然后用ECC逻辑计算的ECC从第二缓冲的第二存储器单元一移动至第一缓冲,然后在分页0从第一缓冲被移出至存储器阵列后,用ECC从第一缓冲移动至第一缓冲。
图7是使用内建错误更正ECC逻辑的存储器装置的第二实施例的简化方块图。存储器装置700包括储存数据712的存储器阵列710、对应该数据的错误更正码ECC714、输入/输出数据路径以及多层缓冲结构790,其位该存储器阵列与输入/输出数据路径之间。存储器阵列包括用于分页模式运作的多个数据线711。多层缓冲结构290包括具有链接至该多个数据线中各自数据线的多个存储单元的一第一缓冲720、耦合至该第一缓冲中的该多个存储单元的一第二缓冲730以及耦合至该第二缓冲以及该输入/输出数据路径的一第三缓冲740。装置包括逻辑,其耦合至该多层缓冲结构,以对分页读取或分页写入运作中至少一运作,透过该多层缓冲结构对在该存储器阵列与该输入/输出数据路径之间移动的分页数据施行一逻辑程序。
在这例子中,数据路径包括第一数据路径770A及第二数据路径770B。第一数据路径770A以Z个位的宽度将ECC逻辑750耦合于第一缓冲730。第二数据路径770B以Z个位的宽度将IO系统760耦合于第二缓冲740,其中Z可为8或16。在读取与写入运作中,数据经由第二数据路径770B在第二缓冲740与IO系统760之间移动。
装置700包括一接口,其位于该第一缓冲720与第二缓冲730之间,该接口提供位于于该第一缓冲与第二缓冲之间、在一读取或写入循环的数据一分页移动。装置700包括一接口,其位于该第二缓冲730与第三缓冲740之间,该接口提供位于于该第二缓冲与第三缓冲之间、在一读取或写入循环的数据一分页移动。
用于第一缓冲730中的对应的数据的错误更正码ECC被储存于ECC缓冲735中。用于第二缓冲740中的对应的数据的错误更正码ECC被储存于ECC缓冲745中。第二缓冲740宽度等同于或是与第一缓冲730的宽度相符。例如,第一缓冲730与第二缓冲740可以都有2048个位的宽度。第一缓冲730与第二缓冲740可放置于靠近分页缓冲780之处,以在两缓冲之间达到完整硅空间及更快速的传输时间。
装置包括一错误更正码逻辑,用对应的该多个错误更正码于该数据中侦测与更正错误。装置包括耦合于分页缓冲780的控制器(参见图14)、ECC逻辑750以及存储器阵列710。控制器包括逻辑以在读取模式中自存储器阵列移动序列分页的数据。在读取模式的期间,第一分页的数据从第二缓冲740被移动至第二数据路径770B、第二分页的数据从第一缓冲730被移动至第二缓冲740以及在使用对应的ECC进行错误更正之前,第三分页的数据及对应的ECC从存储器阵列710被移动至第一缓冲730。ECC逻辑被用于接续的分页数据的错误侦测,然后在数据被移出第一缓冲之前,用对应的ECC进行错误更正。
第二缓冲740耦合于第一缓冲730及第二数据路径770B。第二缓冲740的宽度大于第二数据路径770B。例如,第二缓冲740可具有2048个位的宽度,而第二数据路径770B可具有8或16位的宽度。第一缓冲730及第二缓冲740都可被植入具有一列多栏结构的缓冲存储器。例如,第一缓冲730与第二缓冲740都可以具有1列2048栏或2048个位的宽度。
图8是第二实施例的读取运作示范流程图。数据分页的数据及对应的ECC从存储器阵列(如图7的710)分别被移动至第一缓冲(如720)及第一缓冲ECC缓冲(如图7的725)(步骤810)。然后在使用ECC进行错误更正前,数据分页的数据及ECC从第一缓冲(如图7的720及725)被移动至第一缓冲(如图7的730),其中ECC被储存于关联于第一缓冲的ECC缓冲中(如图7的735)(步骤820)。
如果ECC逻辑被启动,在数据被移出第一缓冲前,ECC逻辑750用对应的ECC对数据进行错误侦测,然后进行错误更正(步骤830)。然后数据分页的更正的数据从第一缓冲(如图7的730)被移动至第二缓冲(如图7的740)(步骤840)。然后数据分页的更正的数据从第二缓冲被移动至数据路径(如图7的770B)(步骤850)。如果ECC逻辑没有被启动,数据分页的数据从第一缓冲被移动至第二缓冲(步骤840),然后不进行错误更正并移动至数据路径(步骤850)。
图9是关联于ECC被启动的第二实施例的读取运作示范时序图。时序图说明在第一期间T1用于多重数据分页的读取运作。第一期间T1可重复读取更多数据分页。例如,第二期间T2重复T1的读取运作用于接续的数据分页。时序图也说明在第一期间之前的初始期间T0的读取运作。RDBYB讯号指示存储器装置700是否已准备好输出数据至数据路径(如图7的770B)。时序图中的读取运作对应图8的流程图中说明的步骤810至850。
在图9中的第一期间T1,不同的读取运作可被执行于三页数据分页的数据上。第一分页的数据,分页1,从第二缓冲(如图7的70)被移动至数据路径(如图7的770B),接续等待时间,TW,用于输出下一数据分页(步骤850)。第二分页的数据,分页2,从第一缓冲(如图7的720)被移动至第一缓冲(如图7的730)(步骤820)。ECC逻辑被应用在分页2的数据上,使用对应的ECC进行错误侦测,然后错误更正(步骤830)。然后分页2的数据从第一缓冲被移动至第二缓冲,其中在分页1从第二缓冲被移动至数据路径之后,在等待时间TW的期间第二缓冲变为可用(步骤840)。在分页2从第一缓冲被移动至第一缓冲之后,用于第三分页,分页3,的数据及对应的ECC从存储器阵列(如图7的710)被移动至第一缓冲(步骤810)。
故ECC逻辑被用于分页2的数据上(步骤830),而用于分页3的数据及对应ECC从存储器阵列被移动至第一缓冲(步骤810),在相同的第一期间T1,分页1的数据从第二缓冲中的第二存储器单元被移动至数据路径。相应地,因分页2与分页3的读取运作不需额外时间,所以存储器装置的读取吞吐量被改善。
在第一期间T1之前的初始时间T0的期间,用于分页1的数据及对应的ECC从存储器阵列被移动至第一缓冲(步骤810)。接续地,从第一缓冲被移动至第一缓冲(步骤820)。ECC逻辑被应用在分页1的数据上,使用对应的ECC进行错误更正(步骤830)。然后,分页1的数据从第一缓冲被移动至第二缓冲(步骤340)。
在相同的初始期间T0,在分页1从第一缓冲被移动至第一缓冲后,用于分页2的数据与对应的ECC从存储器阵列被移动至第一缓冲(步骤810)。
图10是关联于ECC没被启动的第二实施例的读取运作的范例时序图。时序图说明在第一期间T1与第二期间T2用于多重数据分页的读取运作。第一期间T1与第二期间T2可重复读取更多数据分页。例如,第三期间T3与第四期间T4重复T1与T2用于接续的数据分页的读取运作。时序图也说明在第一期间之前的初始期间T0的读取运作。RDBYB讯号指示存储器装置700是否已准备好输出数据至数据路径(如图7的770B)。时序图中的读取运作对应图8的流程图中说明的步骤810、820、840及850。略过图8的流程图中的步骤830是因为ECC没有被启动。
在第一期间T1,第一分页的数据,分页1,从第二缓冲(如图7的740)被移动至数据路径(如图7的770B)(步骤850),第二分页的数据,分页2,从存储器阵列被移动至第一缓冲(如图7的720)(步骤810)。
在接续于第一期间T1的第二期间T2,分页2从第一缓冲被移动至第一缓冲(步骤820),然后从第一缓冲至第二缓冲(步骤840),在分页1从第一缓冲被移动至第一缓冲后,第三分页的数据,分页3,从存储器阵列被移动至第一缓冲。
在第一期间T1之前的初始时间T0的期间,第一分页的数据,分页1,从存储器阵列被移动至第一缓冲(步骤810),然后从第一缓冲至第一缓冲(步骤820),然后从第一缓冲至第二缓冲(步骤840)。在分页1从第一缓冲被移动至第一缓冲后,第二分页的数据,分页2,从存储器阵列被移动至第一缓冲(步骤810)。
图11是关联于用第二实施例说明写入运作的示范流程图。数据不用ECC就从数据路径(如图7的770B)被移动至第二缓冲(如图7的740)(步骤1110)。
如果ECC逻辑被启动,用ECC逻辑计算的ECC将数据从第二缓冲移动至第一缓冲(如图7的730)(步骤1120及1130)。用ECC将数据从第一缓冲被移动至第一缓冲(如图7的720)(步骤1140),然后用ECC从第一缓冲移动至存储器阵列(如图7的710)(步骤1150)。对于第二实施例,当数据从第二缓冲(如图7的740)被移动至第一缓冲(如图7的730)时,在数据从第缓冲被移出之前,ECC逻辑被用于计算数据的ECC。
如果ECC逻辑没有被启动,数据从第二缓冲被移动至第一缓冲(步骤1120),然后从第一缓冲至第一缓冲(步骤1140)然后从第一缓冲移动至存储器阵列(步骤1150)。
图12是关联于ECC被启动的第二实施例的写入运作的范例时序图。时序图中的写入运作对应于图11中的流程图的步骤1110至1150。时序图说明在第一期间T1对多重分页数据的写入运作。第一期间T1可重复写入更多数据分页。时序图也说明在第一期间之前的初始期间T0的读取运作。RDBYB讯号指示存储器装置700是否已准备好输入数据至数据路径(如图7的770B)。
在第一期间T1,第一分页的数据,分页1,用ECC将第一缓冲移出至存储器阵列(步骤1150)。第二分页的数据,分页2,不用ECC将数据路径移动至第二缓冲(步骤1110),然后不用ECC从第二缓冲至第一缓冲(步骤1120)。在数据第一缓冲被移出之前,ECC逻辑被用于计算分页1的数据的ECC(步骤1130)。在分页1的数据从第一缓冲被移出至存储器阵列后,用ECC逻辑计算的ECC将分页2的数据从第一缓冲移动至第一缓冲(步骤1140)。
故在分页1的数据被移动至存储器阵列的相同的第二期间T1,不用ECC将分页2的数据从数据路径移动至第二缓冲,不用ECC至第一缓冲,ECC逻辑被用于计算第一缓冲中的数据的ECC,因此,分页数据(如图12的分页2)的ECC写入运作对存储器装置的写入吞吐量几乎没有计时影响。
在第一期间T1之前的初始期间T0,初始分页的数据,分页0,从数据路径不用ECC被移动至第二缓冲(步骤1110),然后从第二缓冲至第一缓冲(步骤1120)。在数据从第一逻辑被移出之前,ECC逻辑被用于计算分页0的数据的ECC(步骤1130)。然后用ECC逻辑计算的ECC将分页0从第一缓冲移动至第一缓冲(步骤1140)。然后用ECC将分页0的数据从第一缓冲移出至存储器阵列(步骤1150)。
在相同的初始期间T0,在分页0的数据从第二缓冲被移动至第一缓冲后,不用ECC将分页1的数据从数据路径移动至第二缓冲(步骤1110),然后不用ECC从第二缓冲至第一缓冲(步骤1120)。在数据第一缓冲被移出之前,ECC逻辑被用于计算分页1的数据的ECC(步骤1130)。在分页0的数据从第一缓冲被移出至存储器阵列后,用ECC逻辑计算的ECC将分页1的数据从第一缓冲移动至第一缓冲(步骤1140)。
图12是关联于ECC没被启动的第二实施例的写入运作的范例时序图。时序图说明在第一期间T1用于多重数据分页的写入运作。第一期间T1可重复写入更多数据分页。时序图也说明在第一期间之前的初始期间T0的写入运作。RDBYB讯号指示存储器装置700是否已准备好输出数据至数据路径(如图7的770B)。时序图中的写入运作对应图8的流程图中说明的步骤1110、1120、1140及1150。略过图11的流程图中的步骤1130是因为ECC没有被启动。
在第一期间T1,分页1的数据从第一缓冲被移出至存储器阵列(步骤1150),第二分页的数据,分页2,从数据路径被移动至第二缓冲(步骤1110),然后从第二缓冲至第一缓冲(步骤1120),在分页1的数据从第一缓冲被移出至存储器阵列之后,从第一缓冲至第一缓冲(步骤1140)。
在第一期间T1之前的初始时间T0,初始分页的数据,分页0,从数据路径被移动至第二缓冲(步骤1110),然后从第二缓冲至第一缓冲(步骤1120),然后从第一缓冲至第一缓冲(步骤1140)。然后分页0的数据从第一缓冲被移出至存储器阵列(步骤1150)。
在相同的初始期间T0,在分页0的数据从第二缓冲被移动至第一缓冲后,分页1的数据从数据路径被移动至第二缓冲(步骤1110),然后分页1从第二缓冲至第一缓冲(步骤1120),然后在分页0的数据从第一缓冲被移出至存储器阵列后,分页1的数据从第一缓冲被移动至第一缓冲(步骤1140)。
图14是依据实施例的集成电路存储器装置的简化方块图。集成电路1400包括存储器阵列1460,其在集成电路机板上用ECC储存数据。
列译码器1440耦合于多个字线1445,沿着存储器阵列1460中的列配置。栏译码器1470耦合于多个位线1465,沿着存储器阵列1460中的栏配置,用于从存储器阵列1460中读取数据及输入数据。地址总线1430供应至栏译码器1470、列译码器1440及排译码器1450。多层缓冲结构1480经由第一数据总线1475耦合于栏译码器1470。从第一缓冲感测的数据经由第二数据总线1485供应至多层缓冲1490,其经由第二数据总线1485耦合于IO电路1490。IO电路1490耦合至IO数据路径(如图2的270、图7的770A与770B)。IO电路1490包括第一缓冲(如图2的220、图7的720),其包括用于读取运作的感测放大器与用于写入运作的编程缓冲。IO电路1490驱动数据至集成电路1400外部的目的地。IO数据与控制讯号经由数据排1405在IO电路1497及集成电路1400上的IO端口或其他集成电路1400的外部内部数据源之间移动,像是一般用途的处理器或特殊用途的应用电路或提供由存储器阵列1460所支持的单系统芯片功能的模块的组合。
如图14所示的范例中,控制逻辑1410使用偏压调整状态机器控制由区块1420的电压供应所提供或产生的偏压调整供应电压的应用,像是读取与编程电压。控制逻辑1410耦合于多层缓冲1490、ECC逻辑1495以及有ECC的存储器阵列1460。控制逻辑1410包括在存储器阵列的写入模式与读取模式中,用于在重叠时间运作中移动接续分页数据的逻辑。
第一缓冲1480有经由数个数据线1475耦合于存储器阵列1460的输入,且具有数个等同于或大于数个数据线1475的输出,其中在多层缓冲1490中的第一缓冲可具有数个等同于或大于数个感测放大器输出的输入。
在读取模式的期间,第一分页的错误更正的数据从第二缓冲被移动至数据路径,第二分页的数据从第一缓冲被移动至第二缓冲,第三分页的数据从存储器阵列被移动至第一缓冲。在数据从第一缓冲被移出之前,ECC逻辑被用于接续分页数据的错误侦测。在实施例中,在数据从第二缓冲被移出之前或数据从第一存储器单元或第二存储器单元其中之一被移至数据路径时,ECC逻辑被用于接续分页数据的错误更正。在其他实施例中,在数据从第一缓冲被移出之前,ECC逻辑被用于接续分页数据的错误更正。
在写入模式的期间,用ECC将第一分页的数据从第一缓冲1480移出至存储器阵列,第二分页的数据从数据路径移至第二缓冲,在第一分页的数据从第一缓冲1480被移出至存储器阵列之前,用ECC逻辑1495计算的ECC将第二分页的数据从第二外取移至第一缓冲,然后用ECC将第二分页的数据从第一缓冲移动至第一缓冲。在数据被移出第一缓冲之前,ECC逻辑被用于计算接续分页的数据的ECC。
控制逻辑1410可用已知的特定用途逻辑电路图予以植入。在替代的实施例中,控制器包括特殊目的处理器,其可被植入在相同的集成电路上,其执行计算机程序以控制装置运作。在其他实施例中,特定用途逻辑电路图与特定用途处理器的组合可被用于植入控制器。
尽管揭露的数据储存架构系描述用于ECC运作,该储存架构可被用于其他分页模式运作,像是数据压缩与解压缩,透过多层缓冲在存储器阵列与IO路径之间的移动期间对分页数据实施逻辑程序。
在此所提出的多个有关本发明的变型与其它实施例,将会促使本发明所属领域技艺者,想到有关于前述描述及其相关图式所呈现的益处,因此,本发明并不受限于所揭露的特定实施例与变型,其它实施例亦拟被包括在所附权利要求的保护范围内,再者,虽然前述描述及其相关图式在元件及/或功能的某些示范性组合的上下文中描述了实施例,但是元件及/或功能的不同组合可在不违背所附权利要求的范围的替代实施例的状况下而提供,就此而言,除前述明白地描述以外的元件及/或功能的不同组合,也被预期可以在某些所附权利要求中提出;在本揭露中所使用的某些特定用语,它们只使用在上位与描述性概念且不为了限制的目的。
Claims (10)
1.一种装置,包括:
一存储器阵列,其储存一数据以及对应于该数据的多个错误更正码(ECC),该存储器阵列包括用于分页模式运作的多个数据线;
一输入/输出数据路径;
一多层缓冲结构,其位于该存储器阵列与该输入/输出数据路径之间,其中该多层缓冲结构包括具有链接至该多个数据线中各自数据线的多个存储单元的一第一缓冲、耦合至该第一缓冲中的该多个存储单元的一第二缓冲以及耦合至该第二缓冲以及该输入/输出数据路径的一第三缓冲;以及
一逻辑,其耦合至该多层缓冲结构,以对分页读取或分页写入运作中至少一运作,透过该多层缓冲结构对在该存储器阵列与该输入/输出数据路径之间移动的分页数据施行一逻辑程序。
2.根据权利要求1所述的装置,其中该第三缓冲包括一第一存储器单元,其由一储存总线耦合至该第二缓冲、一第二存储器单元,其由该储存总线或一第二总线耦合至该第二缓冲,以及一逻辑,当从该第一存储器单元与该第二存储器单元移动数据至该输入/输出数据路径时,从该第二缓冲移动数据至陔第一存储器单元与该第二存储器单元其中之一。
3.根据权利要求1所述的装置,更包括一错误更正码逻辑,用对应的该多个错误更正码于该数据中侦测与更正错误,该逻辑包括一控制器,其耦合于该多层缓冲结构,该错误更正码逻辑包括一逻辑,其用于时间重叠操作从该第二缓冲移动一第一分页的错误更正的数据至该第二缓冲、从该第一缓冲移动第三分页的数据至该第二缓冲,以及在数据被移出该第二缓冲前在该序列中运用该错误更正码逻辑于数据分页的错误侦测。
4.根据权利要求1所述的装置,其中该第三缓冲包括一第一存储器单元,其由一储存总线耦合至该第二缓冲、一第二存储器单元,其由该储存总线或一第二总线耦合至该第二缓冲,以及一逻辑,当从该输入/输出数据路径移动数据至该第一存储器单元与该第二存储器单元时,从该第一存储器单元与该第二存储器单元其中之一移动数据至该第二缓冲。
5.根据权利要求1所述的装置,更包括一ECC逻辑,其用于为数据计算ECC;以及该逻辑包括一控制器,其耦合至该多层缓冲结构,以及该ECC逻辑包括一逻辑,其用于时间重叠操作从该数据路径移动一第二分页至该第三缓冲、用ECC逻辑计算的ECC从该第三缓冲移动第二分页的数据至该第二缓冲、从该第二缓冲移动该第二分页的数据至该第一缓冲,以及在数据被移出该第二缓冲前在该序列中运用该ECC逻辑于数据分页中计算ECC。
6.一种操作一存储器装置的方法,该存储器装置包括一存储器阵列,其储存一数据以及对应于该数据的多个错误更正码、多个数据线以及位于该存储器阵列与一输入/输出数据路径之间的一多层缓冲结构,其中该缓冲结构包括具有链接至该多个数据线中各自数据线的多个存储单元的一第一缓冲、耦合至该第一缓冲中的该多个存储单元的一第二缓冲以及耦合至该第二缓冲以及该输入/输出数据路径的一第三缓冲,该方法包括:
从该第二缓冲移动一第一分页的错误更正的数据至该数据路径;
从该第一缓冲移动一第二分页的数据至该第二缓冲;
从该存储器阵列移动一第三分页的数据至该第一缓冲;以及
在该数据被移出该第二缓冲前,运用该错误更正码逻辑对接续的分页数据进行错误侦测。
7.根据权利要求6所述的方法,其中该第三缓冲包括耦合于该第二缓冲及该数据路径的一第一存储器单元以及耦合于该第二缓冲及该数据路径的一第二存储器单元,该方法更包括:
在一第一期间,从该第一存储器单元移动一第一分页的错误更正的数据至该数据路径并接续一等待时间;
从该第一缓冲移动一第二分页的数据至该第二缓冲,然后从该第二缓冲移至该第二存储器单元;
从该存储器阵列移动一第三分页的数据及对应的该多个错误更正码至该第一缓冲;
在接续该第一期间的一第二期间,从该第二存储器单元移动该第二分页的错误更正的数据至该数据路径并接续该等待时间;
从该第一缓冲移动该第三分页的数据至该第二缓冲,然后从该第一缓冲至该第一存储器单元;
从该存储器阵列移动一第四分页的数据以及对应的该多个错误更正码至第一缓冲;以及
在该数据从该第三缓冲被移出之前或该数据从该第一存储器单元或该第二存储器单元中其中一个被移动至该数据路径时,运用错误更正码逻辑对接续的该分页数据进行错误更正,其中在该第一期间以及该第二期间的多个读取运作可重复读取更多数据分页。
8.根据权利要求7所述的方法,该错误更正码逻辑被关闭,更包括:
在一第一期间,从该第三缓冲移动一第一分页的数据至该数据路径且从该存储器阵列移动一第二分页的数据至该第一缓冲;以及
在接续于该第一期间的一第二期间,从该第一缓冲移动该第二分页的数据至该第二缓冲,然后从该第二缓冲至该第三缓冲,从该存储器缓冲移动一第三分页的数据至该第一缓冲,其中在该第一期间及该第二期间的读取运作可重复读取更多数据分页。
9.一种操作一存储器装置的方法,该存储器装置包括一存储器阵列,其储存一数据以及对应于该数据的多个错误更正码(ECC)、用于分页模式运作的多个数据线以及位于该存储器阵列与一输入/输出数据路径之间的一多层缓冲结构,其中该缓冲结构包括具有链接至该多个数据线中各自数据线的多个存储单元的一第一缓冲、耦合至该第一缓冲中的该多个存储单元的一第二缓冲以及耦合至该第二缓冲以及该输入/输出数据路径的一第三缓冲,该帮法包括:
用由ECC逻辑计算而得的ECC从该第一缓冲移动一第一分页的数据至该存储器阵列;
从该第三缓冲移动一第二分页的数据至该第二缓冲;
从该第二缓冲移动一第二分页的数据至该第一缓冲;以及
在该数据被移出该第二缓冲前,运用该ECC逻辑对接续的分页数据进行错误侦测。
10.根据权利要求9所述的方法,其中该第三缓冲包括耦合于该第二缓冲及该数据路径的一第一存储器单元以及耦合于该第二缓冲及该数据路径的一第二存储器单元,该方法更包括:
在一第一期间,从该数据路径移动一第二分页的数据至该第一存储器单元、用由ECC逻辑计算而得的ECC从该第一存储器单元移动一第二分页的数据至该第二缓冲、用ECC从该第一缓冲移动一第一分页的数据至该存储器阵列、以及从该第二缓冲移动该第二分页的数据至该第一缓冲;
在接续该第一期间的一第二期间,从该数据路径移动该第三分页的数据至该第二存储器单元、用由ECC逻辑计算而得的ECC从该第二存储器单元移动一第三分页的数据至该第二缓冲、用ECC从该第一缓冲移动一第二分页的数据至该存储器阵列、以及从该第二缓冲移动该第三分页的数据至该第一缓冲;以及
在该数据从该第二缓冲被移出之前,运用该ECC逻辑计算接续的该分页数据的一ECC,其中在该第一期间以及该第二期间的多个写入运作可重复写入更多数据分页。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361775699P | 2013-03-11 | 2013-03-11 | |
US61/775,699 | 2013-03-11 | ||
US13/951,130 US9690650B2 (en) | 2013-03-11 | 2013-07-25 | Storage scheme for built-in ECC operations |
US13/951,130 | 2013-07-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104051024A true CN104051024A (zh) | 2014-09-17 |
CN104051024B CN104051024B (zh) | 2017-07-07 |
Family
ID=51489444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310554995.1A Active CN104051024B (zh) | 2013-03-11 | 2013-11-11 | 用于内建错误更正的储存装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9690650B2 (zh) |
CN (1) | CN104051024B (zh) |
TW (1) | TWI509623B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399090A (zh) * | 2018-04-25 | 2019-11-01 | 点序科技股份有限公司 | 存储器管理装置及其操作方法 |
CN111063379A (zh) * | 2018-10-17 | 2020-04-24 | 旺宏电子股份有限公司 | 存储器装置以及操作其以用于读取页面媒体流的方法 |
CN111061426A (zh) * | 2018-10-17 | 2020-04-24 | 旺宏电子股份有限公司 | 存储器装置、集成电路存储器装置及读取页面串流的方法 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6385077B2 (ja) * | 2014-03-05 | 2018-09-05 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US9971647B2 (en) * | 2014-07-31 | 2018-05-15 | Winbond Electronics Corporation | Apparatus and method for programming ECC-enabled NAND flash memory |
US9569303B2 (en) * | 2014-08-08 | 2017-02-14 | Kabushiki Kaisha Toshiba | Information processing apparatus |
TWI587302B (zh) * | 2014-12-09 | 2017-06-11 | 華邦電子股份有限公司 | 記憶體編程方法以及記憶體裝置 |
US10255183B2 (en) * | 2015-07-23 | 2019-04-09 | Arteris, Inc. | Victim buffer for cache coherent systems |
JP6527054B2 (ja) * | 2015-08-28 | 2019-06-05 | 東芝メモリ株式会社 | メモリシステム |
TWI588658B (zh) * | 2015-10-20 | 2017-06-21 | 旺宏電子股份有限公司 | I/o匯流排共用記憶體系統 |
TWI646430B (zh) * | 2017-08-31 | 2019-01-01 | 華邦電子股份有限公司 | 字節編程方法以及頁面編程方法 |
CN109426616B (zh) | 2017-08-31 | 2023-08-04 | 华邦电子股份有限公司 | 字节编程方法以及页面编程方法 |
US10565048B2 (en) * | 2017-12-01 | 2020-02-18 | Arista Networks, Inc. | Logic buffer for hitless single event upset handling |
US10621091B2 (en) * | 2018-05-04 | 2020-04-14 | Micron Technology, Inc. | Apparatuses and methods to perform continuous read operations |
US11048649B2 (en) | 2018-10-17 | 2021-06-29 | Macronix International Co., Ltd. | Non-sequential page continuous read |
TWI671756B (zh) * | 2018-11-13 | 2019-09-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料儲存方法 |
CN111324294B (zh) * | 2018-12-17 | 2023-11-07 | 地平线(上海)人工智能技术有限公司 | 存取张量数据的方法和装置 |
US11768731B2 (en) * | 2019-05-03 | 2023-09-26 | Infineon Technologies Ag | System and method for transparent register data error detection and correction via a communication bus |
US10963336B2 (en) * | 2019-08-29 | 2021-03-30 | Micron Technology, Inc. | Semiconductor device with user defined operations and associated methods and systems |
US11200118B2 (en) | 2019-08-29 | 2021-12-14 | Micron Technology, Inc. | Semiconductor device with modified command and associated methods and systems |
US11042436B2 (en) | 2019-08-29 | 2021-06-22 | Micron Technology, Inc. | Semiconductor device with modified access and associated methods and systems |
KR20210034726A (ko) * | 2019-09-20 | 2021-03-31 | 삼성전자주식회사 | 메모리 모듈, 그것을 제어하는 메모리 제어기의 에러 정정 방법, 및 그것을포함하는 컴퓨팅 시스템 |
US10957384B1 (en) | 2019-09-24 | 2021-03-23 | Macronix International Co., Ltd. | Page buffer structure and fast continuous read |
US11249913B2 (en) | 2020-03-06 | 2022-02-15 | Macronix International Co., Ltd. | Continuous read with multiple read commands |
US11302366B2 (en) | 2020-03-06 | 2022-04-12 | Macronix International Co., Ltd. | Method and system for enhanced read performance in low pin count interface |
US11217323B1 (en) | 2020-09-02 | 2022-01-04 | Stmicroelectronics International N.V. | Circuit and method for capturing and transporting data errors |
US11698833B1 (en) | 2022-01-03 | 2023-07-11 | Stmicroelectronics International N.V. | Programmable signal aggregator |
US20240029783A1 (en) * | 2022-07-21 | 2024-01-25 | Micron Technology, Inc. | Semiconductor device having buffer circuit |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0793274A (ja) * | 1993-07-27 | 1995-04-07 | Fujitsu Ltd | データ転送方式及びデータ転送装置 |
KR0144818B1 (ko) * | 1994-07-25 | 1998-08-17 | 김광호 | 낸드형 플래쉬메모리 아이씨카드 |
US6957378B2 (en) * | 2001-06-04 | 2005-10-18 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US7051264B2 (en) * | 2001-11-14 | 2006-05-23 | Monolithic System Technology, Inc. | Error correcting memory and method of operating same |
US7032142B2 (en) * | 2001-11-22 | 2006-04-18 | Fujitsu Limited | Memory circuit having parity cell array |
KR100786603B1 (ko) * | 2002-11-28 | 2007-12-21 | 가부시끼가이샤 르네사스 테크놀로지 | 메모리 모듈, 메모리시스템 및 정보기기 |
TW200604810A (en) * | 2004-02-20 | 2006-02-01 | Renesas Tech Corp | Nonvolatile memory and data processing system |
US7340541B2 (en) * | 2004-08-16 | 2008-03-04 | National Instruments Corporation | Method of buffering bidirectional digital I/O lines |
US7840643B2 (en) * | 2004-10-06 | 2010-11-23 | International Business Machines Corporation | System and method for movement of non-aligned data in network buffer model |
JP4791831B2 (ja) * | 2006-01-20 | 2011-10-12 | 株式会社東芝 | 半導体記憶装置 |
WO2008001363A2 (en) * | 2006-06-27 | 2008-01-03 | Kdr Flashware Ltd. | Monolithic flash memory having integrated code and data memory portions |
KR100918299B1 (ko) * | 2007-04-25 | 2009-09-18 | 삼성전자주식회사 | 배드 블록 정보를 저장하지 않는 행 디코더를 갖는 플래시메모리 장치 및 그것의 제어 방법 |
CN101162449B (zh) | 2007-10-08 | 2010-06-02 | 福州瑞芯微电子有限公司 | Nand flash控制器及其与nand flash芯片的数据交互方法 |
US8015451B2 (en) * | 2008-01-24 | 2011-09-06 | International Business Machines Corporation | Controlling an unreliable data transfer in a data channel |
JP2010262700A (ja) * | 2009-05-07 | 2010-11-18 | Elpida Memory Inc | 半導体装置 |
CN101996685B (zh) * | 2009-08-11 | 2013-12-04 | 中颖电子股份有限公司 | 存储器管理数据的差错控制方法及差错控制器 |
WO2011038329A1 (en) * | 2009-09-28 | 2011-03-31 | Nvidia Corporation | Error detection and correction for external dram |
JP2011197819A (ja) | 2010-03-17 | 2011-10-06 | Toshiba Corp | 半導体装置 |
JP2013232263A (ja) * | 2012-04-27 | 2013-11-14 | Toshiba Corp | 半導体メモリ |
-
2013
- 2013-07-25 US US13/951,130 patent/US9690650B2/en active Active
- 2013-09-09 TW TW102132413A patent/TWI509623B/zh active
- 2013-11-11 CN CN201310554995.1A patent/CN104051024B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399090A (zh) * | 2018-04-25 | 2019-11-01 | 点序科技股份有限公司 | 存储器管理装置及其操作方法 |
CN110399090B (zh) * | 2018-04-25 | 2023-04-07 | 点序科技股份有限公司 | 存储器管理装置及其操作方法 |
CN111063379A (zh) * | 2018-10-17 | 2020-04-24 | 旺宏电子股份有限公司 | 存储器装置以及操作其以用于读取页面媒体流的方法 |
CN111061426A (zh) * | 2018-10-17 | 2020-04-24 | 旺宏电子股份有限公司 | 存储器装置、集成电路存储器装置及读取页面串流的方法 |
CN111061426B (zh) * | 2018-10-17 | 2023-08-22 | 旺宏电子股份有限公司 | 存储器装置、集成电路存储器装置及读取页面串流的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104051024B (zh) | 2017-07-07 |
US9690650B2 (en) | 2017-06-27 |
US20140258811A1 (en) | 2014-09-11 |
TW201435893A (zh) | 2014-09-16 |
TWI509623B (zh) | 2015-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104051024A (zh) | 用于内建错误更正的储存装置及其操作方法 | |
JP5984989B2 (ja) | オンチップのnand型フラッシュメモリおよびその不良ブロック管理方法 | |
KR102580944B1 (ko) | 에러 정정 기능을 갖는 메모리 장치와 그 동작 방법 | |
CN101329916B (zh) | 闪存装置纠错码控制器以及相关方法和存储系统 | |
US8086783B2 (en) | High availability memory system | |
US9223648B2 (en) | Memory storage device, memory controller thereof, and method for processing data thereof | |
TWI384355B (zh) | 記憶體陣列錯誤校正裝置,系統及方法 | |
US9760434B2 (en) | ECC method for double pattern flash memory | |
CN101573694B (zh) | 用于小数据结构的ecc保护的方法、系统和装置 | |
US7373584B2 (en) | Semiconductor memory device and error correction method thereof | |
US20190347159A1 (en) | Method and device for monitoring data error status in a memory | |
JP2004311010A (ja) | エラー訂正機能を有したフラッシュメモリ装置 | |
US9535785B2 (en) | ECC method for flash memory | |
CN105279115A (zh) | 闪存控制装置、闪存控制系统以及闪存控制方法 | |
JP2016167669A (ja) | プログラマブル論理回路装置及びそのエラー検出方法 | |
JP2009301194A (ja) | 半導体記憶装置の制御システム | |
US11868210B2 (en) | Memory device crossed matrix parity | |
KR20190106274A (ko) | 메모리 칩 및 그것을 포함하는 테스트 시스템 | |
US7075851B2 (en) | Semiconductor memory device inputting/outputting data and parity data in burst operation | |
US11836044B2 (en) | Error coalescing | |
US20140281803A1 (en) | Memory with error correction configured to prevent overcorrection | |
JP4582078B2 (ja) | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
KR102025880B1 (ko) | 에러 보정 기능을 갖는 메모리 장치 및 그의 에러 보정 방법 | |
US9104596B2 (en) | Memory system | |
TWI500036B (zh) | 非揮發性儲存裝置及其控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |