CN113360085A - 存储器装置、用于操作其的方法以及自其读取档案的方法 - Google Patents
存储器装置、用于操作其的方法以及自其读取档案的方法 Download PDFInfo
- Publication number
- CN113360085A CN113360085A CN202110059141.0A CN202110059141A CN113360085A CN 113360085 A CN113360085 A CN 113360085A CN 202110059141 A CN202110059141 A CN 202110059141A CN 113360085 A CN113360085 A CN 113360085A
- Authority
- CN
- China
- Prior art keywords
- cache
- data
- buffer
- page
- read
- 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 description 35
- 239000000872 buffer Substances 0.000 claims abstract description 193
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000012546 transfer Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 208000011580 syndromic disease Diseases 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0879—Burst mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/26—Using a specific storage system architecture
- G06F2212/261—Storage comprising a plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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
- G11C2029/0409—Online test
-
- 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
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Radar Systems Or Details Thereof (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种存储器装置、用于操作其的方法以及自其读取档案的方法,其中该存储器装置包括可操作的耦合至存储器阵列的数据缓存器、可操作的耦合至数据缓存器的缓存以及以可操作的耦合至缓存的输入/输出接口。控制器因应于页面读取命令而执行连续页面读取操作以循序地将页面加载至数据缓存器并将页面移动至缓存,因应于缓存读取命令而执行缓存读取操作以将数据自缓存移动至输入/输出接口并暂停自缓存移动数据直至下一缓存读取命令为止,且因应于终止命令而终止连续页面读取操作。
Description
技术领域
本发明涉及存储技术领域,尤其是涉及一种支持连续读取操作且尤其支持连续页面读取操作的集成电路存储器装置、用于操作其的方法以及自其读取档案的方法,存储器装置例如与非门快闪装置。
背景技术
一种类型的读取延迟(read latency)是接收到读取命令的时间与由读取命令请求的数据在输出处可用的时间之间的时间。在与非门(NAND)快闪装置中,此种类型的延迟可为相对长的。因此,对于一些操作,与非门闪存可显著慢于例如或非门(NOR)闪存等其他类型的存储器。
已经开发出被称为缓存读取(cache read)及连续读取(continuous read)的命令序列来解决与非门快闪装置的此种延迟。在连续读取命令序列中,与非门快闪装置被配置成输出循序页面,使得所述循序页面在页面之间具有较少延迟的情况下可用。对与非门闪存的连续读取操作可在主机的操作中包括三个基本阶段,如下:
(1)开始阶段:主机需要发布欲将新页面地址的数据读出至缓存的页面读取(C1)命令。读出所述页面数据花费读取延迟tR。
(2)循序连续读取阶段:主机在此阶段中连续地自存储器装置上的接口读出缓存中的数据。
(3)结束阶段:视读取协议而定,主机需要发布「结束」(C3)命令(一些常见的与非门快闪装置),或者将芯片选择信号自0提升至1(串列周边接口(Serial PeripheralInterface,SPI)与非门快闪装置),以终止循序连续读取操作。
在一些系统中,主机装置连接至连续读取存储器装置。主机装置可在接口缓冲器处接收数据流,然后将数据自接口缓冲器传输至内部存储器。在主机中可接收数据流的速率受到接口缓冲器的大小及接收数据的内部存储器的可用性的限制。
因此,期望提供一种在接收装置的控制下在连续读取操作中控制数据流的技术。
发明内容
本发明提供了一种支持灵活连续读取操作的技术。
本发明一个方面提供了一种存储器装置,其包括存储器阵列(例如与非门快闪阵列)、可操作的耦合至存储器阵列的数据缓存器以及可操作的耦合至数据缓存器的缓存。输入/输出接口以可操作的耦合至缓存,并为外部主机提供存取。存储器装置上的控制器对在输入/输出接口处接收的命令及地址作出响应,且包括用以控制存储器操作的电路,所述存储器操作包括:i)连续读取操作,将数据区段(例如页面)媒体流自存储器阵列输出至数据缓存器并自数据缓存器输出至缓存;以及ii)缓存读取操作,将数据自缓存输出至连接至主机的输入/输出接口。在以一通量(throughput)执行连续读取操作期间,缓存读取操作可以由主机控制的通量执行,连续读取操作的通量可与缓存读取操作的通量无关。
存储器装置上的控制器可因应于读取命令而执行连续读取操作,以将数据区段自存储器阵列加载至数据缓存器并在缓存变得可用时将数据区段移动至缓存。此外,控制器因应于缓存读取命令而执行缓存读取操作,以将数据自缓存移动至输入/输出接口并延迟自缓存移动数据直至下一缓存读取命令为止。控制器亦可因应于终止命令或控制信号的切换(toggling)而终止连续页面读取操作。
注意,在本说明提及「页面(page或pages)」的地方,其包括大小由存储器阵列与页面缓冲器中的数据缓存器之间的并列输入及输出路径决定的数据区段。应理解,在各种实施例中,可使用不同大小的数据区段来通过数据缓存器及缓存进行数据传输。
为便于进行本说明,「命令」包括由接收存储器装置译码以识别欲实行操作的作业码(op code),例如默认定字节、字节组合或其他参数。
在各种实施例中,缓存读取命令可携载缓存地址,且在一些实例中,使得由主机读取的数据可在存储器装置上的高速缓存内被随机地选择(非循序的)。此外,缓存读取命令可携载用于选择欲自缓存读取的数据的缓存地址及用于选择欲自阵列读取至数据缓存器的页面的页面地址,使得由主机读取的数据在存储器装置上的高速缓存内可为非循序的,且欲自阵列移动至数据缓存器的下一页面在阵列内可为非循序的。如此一来,控制器执行随机连续页面读取模式,其中以连续读取模式输出的页面在如下意义上具有随机地址:阵列中欲读取的页面的页面地址不被约束成跟在序列中的前一页面地址之后。
本发明另一方面提供一种用于操作存储器装置的方法。所述方法包括因应于页面读取命令而执行连续页面读取操作,以循序地将页面加载至数据缓存器并将页面自数据缓存器移动至缓存。此外,所述方法包括因应于当前缓存读取命令而执行缓存读取操作以将数据自缓存移动至装置上的输入/输出接口,且暂停将数据自缓存移动至输入/输出接口直至序列中的下一缓存读取命令为止。此外,所述方法包括因应于终止命令或控制信号而终止连续页面读取操作。
所阐述的技术包括用于自存储器装置读取档案的方法。例如,所述方法包括发布页面读取命令,以在存储器装置上启动连续页面读取操作,进而循序地将档案的页面载入至缓存。此外,所述方法包括发布当前缓存读取命令并自缓存读取数据,将数据加载于主机或请求装置处的缓冲器中,且暂停将数据自缓存移动至缓冲器直至下一缓存读取命令为止,然后根据缓冲器中存储器空间的可用性来发布下一缓存读取命令,并继续以序列发布缓存读取命令以读取档案。所述方法包括发布终止命令,以停止存储器装置上的连续页面读取操作。在各种实施例中,缓存读取命令可包含包括缓存地址及/或页面地址在内的地址,以允许在读取操作期间随机存取档案中的数据。
根据本发明中阐述的实施例,主机装置可在连续读取操作期间发布多个缓存读取命令,以根据主机上资源的可用性来管理数据流。在所阐述的实施例中,添加终止命令,存储器装置上的控制器因应于所述终止命令而终止连续读取操作。终止命令可为使连续读取操作中止的命令或者发信号通知开始不同操作(例如对闪存的擦除操作)的命令。在终止命令之前,允许有多个缓存读取命令。
通过阅读以下的附图、详细说明及权利要求书,可看出本技术的其他实施例及优点。
附图说明
图1是包括主机装置及闪存的系统的示意性方块图,所述闪存支持本发明中阐述的连续读取操作。
图2示出像图1一样的系统的典型读取波形。
图3是支持连续页面读取模式的存储器装置架构的示意性方块图。
图4示出根据现有技术的连续页面读取模式的读取波形。
图5示出具有多个缓存读取命令的连续页面读取模式的读取波形。
图6示出包括多个页面的档案的连续页面读取模式的读取波形。
图7是由主机装置为图6所示连续页面读取模式执行的算法的流程图。
图8是示出具有随机高速缓存存取的连续页面读取模式的试探式图。
图9是由主机装置为图8所示连续页面读取模式执行的算法的流程图。
图10示出可被部署像图8一样的连续读取操作的具有二个缓存区块的单阵列存储器结构。
图11示出可被部署像图8一样的连续读取操作的具有二个缓存区块的二阵列存储器结构。
图12是可使用像图10及图11一样的存储器结构来执行的示例性命令序列。
图13示出可被部署像图8一样的连续读取操作的具有四个缓存区块的二阵列存储器结构。
图14示出可被部署像图8一样的连续读取操作的具有四个缓存区块的四阵列存储器结构。
图15是可使用像图13及图14一样的存储器结构来执行的示例性命令序列。
图16是具有连续页面读取模式的集成电路存储器装置的方块图,所述连续页面读取模式具有本发明中阐述的多个缓存读取命令。
图17是包括存储器控制器与高速缓存的具有连续页面读取模式操作的替代实施方案的方块图。
【符号说明】
100:主机装置
101:芯片上静态随机存取存储器(SRAM)
102、114:输入/输出(I/O)缓冲器
110:闪存装置/存储器装置/集成电路存储器装置
111:快闪阵列
112:数据缓存器
113:缓存
120:数据链路/链路
210、211、401、402、403、404、501a、501b、503a、503b、504a、504b、505a、505b、601、602、611、612、620、631、632、640、801、802、811、812、821、822、831、832:时间
220、221、222、223、421、521、522、523、524、525、613、633:缓存读取命令
300、1201、1301、1302:存储器阵列
301、1171、1202、1303、1305:页面缓冲器
302:缓存区块1
303:缓存区块2
304、305、310、311、1130、1175、1176、1791:总线
312、313:多任务器
314、315:链路
316、1721:ECC电路
317、1105:I/O接口/接口
318、1195:I/O端口
410、411、510、511:连续页面读取操作
412、422、423、512:操作
420、520、603:页面读取命令
526、641:终止命令
604:起始页面地址
614:字节0至127
634:字节1280至1309
650:序列
751、752、753、754、755、1051、1052、1053、1054、1055、1056、1057:步骤
803:第一缓存读取命令/缓存读取命令/前一命令
804、834:地址/页面/缓存地址
805:数据单位「D1」/数据单位
813:下一缓存读取命令/另一缓存读取命令/第二缓存读取命令
814、824:缓存地址/地址/页面/缓存地址
815:下一数据单位「D2」/数据单位「D2」
823、833:下一缓存读取命令/缓存读取命令/下一读取命令
825:下一数据单位「D3」/数据单位「D3」/第三数据单位
835:数据单位「D4」/第四数据单位
901:区段/数据区段/第一页面区段
902:区段/数据区段/第二页面区段
903、904:区段/数据区段
1100:集成电路存储器装置
1108、1716:命令译码器
1110、1715:控制逻辑
1111:状态缓存器
1120:区块
1140:译码器
1145:字线
1160:具有ECC的存储器阵列/存储器阵列
1165:位线
1181:缓存区块1/缓存区块
1182:缓存区块2/缓存区块
1184、1185、1191:数据总线
1190:错误检查及校正ECC电路/ECC电路
1203:层
1204:第二缓存区块
1205:第一缓存区块
1304、1306:缓存区块
1710:控制芯片
1711:存储器接口
1712:I/O界面
1722:缓存区块1/高速缓存区段
1723:缓存区块2/高速缓存区段
1725、1726、1729:内部总线
1727、1728、1781:线路
1780:存储器芯片
1790:SOC集成电路/主机SOC/主机
CS#:芯片选择信号
SCLK:频率信号
tRDSEG2、tRDSEG3、tRDSEG4:延迟时间
具体实施方式
参照图1至图17提供对本发明实施例的详细说明。
图1示出包括主机装置100(例如所谓的单芯片系统(system-on-a-chip,SOC)装置)及闪存装置110的系统。主机装置100与闪存装置110通过数据链路120(例如有线或无线总线)可操作的耦合,以传输命令、数据、地址及状态信息。
主机装置100包括芯片上存储器,例如芯片上静态随机存取存储器(staticrandom access memory,SRAM)101,用于保存主机装置100的功能所使用的工作数据及档案。此外,主机装置100在通往数据链路120的接口上包括输入/输出(input/output,I/O)缓冲器102。
此实例中的存储器装置110包括快闪阵列111,例如与非门快闪阵列。存储器装置110在通往数据链路120的接口上包括输入/输出缓冲器114,且用于跨越链路120将数据传输至主机装置100上的对应输入/输出(I/O)缓冲器102。存储器装置110包括数据缓存器112,数据缓存器112连接至与非门快闪阵列,以在读取操作期间自与非门快闪阵列接收数据区段(例如,页面)。缓存113连接至数据缓存器112,并在快闪阵列111、数据缓存器112及输入/输出缓冲器114之间提供对操作进行缓冲的数据路径。
在读取操作中,数据自缓存113流动至存储器装置110上的I/O缓冲器114,并跨越链路120流动至主机装置100上的I/O缓冲器102。在此实例中,数据自I/O缓冲器102移动至芯片上SRAM 101。在一些实施例中,I/O缓冲器102可为相对小的,例如保存16个字节至128个字节。芯片上SRAM 101可大得多,保存兆字节或更多的数据。因此,I/O缓冲器102的大小限制了可因应于给定读取操作而跨越链路120传输的数据量。当主机装置100读取相对大的档案时,执行多个读取操作来加载一个数据区段,且需要多个数据区段来完成所述档案,如图2所示。
读取操作速度可能受到将数据自主机装置100上的I/O缓冲器102移动至芯片上SRAM 101所需的时间的限制,这是由于对芯片上SRAM 101或其他芯片上资源的存取仲裁、芯片上SRAM 101与I/O缓冲器102之间的连接速度以及其他原因。因此,本发明所述的存储器装置110包括用于执行命令协议的逻辑,所述命令协议允许主机装置100灵活控制读取传输,包括灵活控制在存储器装置上的状态机的控制下执行的自动连续读取操作。
图2示出链路120上的读取波形的实例。如上所提及,为了读取相对大的档案,主机装置100发布读取命令序列。在典型的读取中,因应于第一命令,数据页面被移动至缓存113,然后主机发布由缓存读取命令220、221、222、223形成的序列。在所述实例中,芯片选择信号CS#(低态有效)在时间210自高态切换至低态,且频率信号SCLK被接通(起始)。与频率信号SCLK同步,在存储器装置110的输入处接收缓存读取命令,随后自缓存输出数据。自缓存读取数据,直至频率信号SCLK停止,且芯片选择信号自低态切换至高态。缓存读取命令中的每一者用于撷取缓存中的数据的一部分,所述一部分的大小及定时可由主机设定,以避免主机上的I/O缓冲器102溢位(overrun)。当最后一个缓存读取命令223完成且芯片选择信号在时间211自低态切换回至高态时,对主机所期望的缓存中数据的读取完成。
此命令协议对于一次在缓存中存取一个区段的读取算法是有用的。对于大的档案,针对下一区段重复此协议。然而,对于其中存储器装置提供自动页面存取以使缓存保持为满的连续页面读取模式,可达成更大的数据通量。针对连续页面读取模式而配置的存储器装置可具有如同图3所示的结构。在2019年8月19日提出申请的美国专利申请案第16/544,055号、2019年8月6日提出申请的美国专利申请第16/533,463号及2019年9月24日提出申请的美国专利申请第16/581,562号中阐述了示例性连续页面读取模式命令协议,这些专利申请通过引用的方式并入本案,如同在本发明中完全陈述一样。
图3是示出存储器阵列及包括错误校正码(Error Correction Code,ECC)电路的数据路径电路系统的方块图,所述数据路径电路系统可运行而以二层阶缓冲(页面缓冲器/缓存区块1、缓存区块2)进行连续页面读取。此为例如可在图1所示的集成电路存储器装置110中利用的电路组织的一个实例。
在图3中,存储器阵列300(例如与非门快闪阵列)耦合至页面缓冲器301,页面缓冲器301包括用于保存自存储器阵列300区段地读取数据的数据缓存器,其中区段可为页面或其他数据单位。数据可在单个页面读取操作期间自存储器阵列300并列地移动至页面缓冲器301。页面缓冲器301分别通过总线304及总线305耦合至包括缓存的数据路径电路,所述缓存包括缓存区块1302及缓存区块2303。总线304的数据宽度可为页面缓冲器301的宽度+ECC的一半,以在单个循环中将半个页面或其他区段大小自页面缓冲器301传输至缓存区块1。同样,总线305的数据宽度可为页面缓冲器301的宽度的一半,以在单个循环中将半个页面自页面缓冲器301传输至缓存区块2。ECC字节可包含于缓存区块1及缓存区块2中,或者附加的存储器元件可与缓存区块1及缓存区块2并行地用于ECC字节。
在有利的实施例中,缓存区块1及缓存区块2被配置成保存包括数据及与数据相关联的ECC码的至少一个ECC组块(chunk),使得其可由ECC电路316独立于另一缓冲器中的数据来操作。
如图所示,数据路径电路包括连接至缓存区块1的总线310及连接至缓存区块2的总线311。总线310连接至多任务器312及多任务器313。同样,总线311连接至多任务器312及多任务器313。多任务器312的输出通过链路314连接至ECC电路316。多任务器313的输出通过链路315连接至I/O接口317(包括I/O缓冲器),I/O接口317提供经寻址页面的输出数据。数据可以总线310、311能够支持的可寻址单位(例如字节或字符)在总线310及总线311上移动,以供ECC电路316使用并由接口317在I/O端口318上输出。
图4示出支持连续页面读取模式的现有技术命令协议。根据此协议,主机与在时间401使芯片选择信号切换且使频率信号起始相协调地发布页面读取命令420,直至在时间402使芯片选择信号切换为止。存储器装置上的控制器执行连续页面读取操作410,进而将由页面读取命令识别的页面加载至页面缓冲器的数据缓存器中并自数据缓存器加载至高速缓存中。在进行延迟以考虑到将数据自阵列移动至高速缓存的延迟之后,主机在时间403使芯片选择信号切换并使频率信号起始时发布缓存读取命令421。连续页面读取操作411继续循序地将数据页面自存储器阵列移出至数据缓存器,并自数据缓存器移动至高速缓存,以支持数据的连续输出。可通过使频率停止或通过其他控制操作来暂停此连续页面读取操作411,以不使高速缓存溢位。主机自缓存接收长度由频率信号的数目(例如在缓存读取命令的数据输出阶段中频率信号的数目,其中可通过使频率停止来控制数据输出阶段的结束)决定的数据。然后,为了自缓存接收下一数据单位,主机在不发布命令的情况下再次使频率起始(422)以接收长度由间隔中频率信号的数目决定的数据单位。此循环持续至连续页面读取操作的结束。根据此协议,读取最后一个数据单位(423),并且在完成最后一个数据单位的读取时,使频率停止,且在时间404使芯片选择信号切换。由于控制器连续地将数据自存储器更新至缓存,因此主机必须向存储器装置指示何时终止连续页面读取操作,在此实例中是通过使芯片选择信号切换来终止。因应于芯片选择信号的切换,控制器终止(412)连续页面读取操作。控制器然后等待下一命令。
图4所示命令协议要求主机装置为连续页面缓存读取执行三种不同类型的操作。所述三个操作包括:缓存读取命令421,伴随着自缓存接收数据;仅读取间隔(例如422),其中通过使频率信号切换而自缓存接收数据;以及仅读取间隔423,与在时间404使芯片选择信号切换以发信号通知终止连续页面读取操作重合。由于需要不同类型的操作,主机装置中连续页面读取模式的程序化容易出错,且为效率低的。
图5示出用于连续页面读取模式操作的命令协议,其为主机装置提供更大的灵活性,每次数据传输需要单一类型的操作(即基于命令的操作)。根据此协议,主机与在时间501a使芯片选择信号切换并使频率信号起始相协调地发布页面读取命令520,直至在时间501b使芯片选择信号切换为止。存储器装置上的控制器执行连续页面读取操作510,进而将由页面读取命令识别的页面加载至页面缓冲器的数据缓存器中并自数据缓存器加载至高速缓存中。在进行延迟以考虑到将数据自阵列移动至高速缓存的延迟之后,主机在时间503a使芯片选择信号切换并使频率信号起始时发布缓存读取命令521。数据单位自缓存被读取至主机,所述数据单位的长度由在时间503a及时间503b处芯片选择信号的切换之间缓存读取命令序列的数据输出阶段中频率信号的数目决定。在背景中,于例如状态机等芯片上控制逻辑的控制下,连续页面读取操作511继续通过数据缓存器将数据自存储器阵列移出至高速缓存中。当主机准备好接收下一数据单位时,在时间504a及时间504b处芯片选择信号的切换之间提供下一缓存读取命令522。主机循序地发布定时由主机控制的缓存读取命令523、524、525,并例如通过频率起始及停止而自缓存读取具有由主机控制的相应大小的数据单位,以避免主机上的输入/输出缓冲器溢位。为了读取最后一个数据单位,在此实例中,主机发布与芯片选择信号切换相协调地用于连续页面读取操作的终止命令526。终止命令526可为仅终止连续读取操作的命令,或者为暂停连续读取操作并起始例如程序化、擦除或另一页面读取操作等新操作的命令。当芯片选择信号在时间505b切换时,控制器终止(512)连续页面读取操作。缓存读取命令521、522、523、524、525可包括页面地址,例如用于支持芯片上逻辑进行随机页面连续读取操作。
因此,图5所示基于命令的协议要求主机装置在启动连续页面读取操作之后,通过使芯片选择信号切换以及使频率起始及停止而针对自存储器装置接收的每一数据单位发布单一类型的操作,包括缓存读取命令。此协议在主机装置处实施更简单,且不容易出错。
图6示出使用多个缓存读取命令的连续页面读取模式的另一实例。根据此协议,主机发布与在时间601及602处芯片选择信号切换以及频率信号起始相协调地具有起始页面地址604的页面读取命令603,直至在时间602处芯片选择信号切换为止。存储器装置上的控制器执行连续页面读取操作,进而加载由起始页面地址604识别的页面并继续将后续页面加载至页面缓冲器的数据缓存器中并自数据缓存器加载至高速缓存中,直至操作终止。在进行延迟以考虑到将起始页面的数据自阵列移动至高速缓存的延迟之后,主机在时间611使芯片选择信号切换并使频率信号起始时发布缓存读取命令613。读取在此实例中包括字节0至127(614)的数据单位,自缓存移动至主机,其中128位组长度可由在时间611及时间612处芯片选择信号的切换之间数据输出阶段中频率信号的数目决定。在背景中,连续页面读取操作继续通过数据缓存器将数据自存储器阵列中移出至高速缓存中。在时间620处,当主机准备好接收下一数据单位时,在芯片选择信号的切换之间提供下一缓存读取命令。主机以序列650发布缓存读取命令,直至最后一个缓存读取命令633,在时间631及时间632处,在最后一个缓存读取命令633中档案的例如字节1280至1309(634)被读取至主机。在此实例中,缓存读取命令不包含地址,且主机将自第一页面的字节0至档案的末尾循序地接收数据。序列650可持续任何数目个页面(即,至页面N+M),以将长档案读取至主机。缓存读取命令的定时及利用每一缓存读取命令读取的数据单位的长度可由主机控制,以避免主机上的输入/输出缓冲器溢位。在此实例中,页面的区段可具有1024个字节的长度,且读取至主机的最后一个数据单位可位于在连续页面读取操作中输出的第二页面中,在字节1280至1309处。为了在背景中终止连续页面读取操作,在此实例中,主机发布与芯片选择信号切换相协调地用于连续页面读取操作的终止命令641。在此实例中,未与终止命令641相协调地接收到数据单位。当芯片选择信号在时间640与终止命令相协调地切换时,控制器终止将数据自阵列移动至缓存的连续页面读取操作。
图7是示出在主机上为像图6一样的连续页面读取操作执行的控制算法的流程图。为了读取数据文件,主机发布识别起始页面地址的页面读取命令(751)。主机等待读取延迟时间,以允许起始页面的数据被移动至缓存中并变得可供缓存读取操作使用(752)。可使用主机上的定时器或者通过使用存储器装置上的延迟控制(例如写入可由主机读取以判断存储器装置是否准备好接收缓存读取命令的状态信号)来确定读取延迟。在等待延迟时间之后,主机在其输入/输出缓冲器可用时发布缓存读取命令,并读取具有由主机决定的数目的字节的数据单位(753)。如上所述,字节的数目可由在芯片选择信号的切换之间数据输出阶段中使用的频率循环的数目决定。在读取数据单位之后,主机判断是否已到达档案的末尾(754)。若否,则算法循环回至步骤753,并在缓冲器可用时发布下一缓存读取命令。可使用具有缓存的存储器装置上的计数器或指针来追踪欲读取的数据单位在缓存中的起始地址。
若在步骤754处,已到达档案的末尾,则主机发布终止命令(755)。
存储器装置上的控制器可包括状态机或其他逻辑电路,以执行与来自主机的此命令序列互补的操作,如以上结合图5及图6所论述。
图8示出如本发明所述使用多个缓存读取命令的连续页面读取操作的替代实施例,其中缓存地址提供对缓存中数据区段的部分的非顺序访问,且视需要,向背景连续页面读取操作馈送非循序地址的页面地址与缓存读取命令相关联。如图所示,存储器装置上的缓存可包括多个缓存区块(即,高速缓存的可单独存取的部分),所述多个缓存区块用于交替地自存储器接收数据区段(欲读取的数据)并将数据区段中的数据输出至装置上的I/O。图8示出包括循序地加载于缓存区块的区段901、902、903及904的数据区段序列,包括二个缓存区块可以乒乓方式(ping pong fashion)运行的实施例、三或更多个缓存区块以循环方式(round robin fashion)运行的实施例。在此实例中,作为代表性实例,每一数据区段包括1千字节(kilobyte,kB)的数据,且缓存区块中的每一者可包括至少1千字节的存储器空间。在图8中,作为连续页面读取操作的一部分,因应于前一读取命令,存储器装置将数据区段901自页面缓冲器加载至缓存区块。在时间801处芯片选择信号的切换、频率信号的起始与时间802处芯片选择信号的切换之间,包括第一缓存读取命令803及数据单位的相关联地址804。缓存地址识别欲自保存数据区段901的缓存区块读取的数据单位「D1」805。可在时间811及812处芯片选择信号的切换及频率信号的运行之间在下一缓存读取命令813中通过相关联的缓存地址814识别下一数据单位「D2」815。地址814识别欲自保存数据区段901的缓存区块(与数据单位D1相同的缓存区块)读取的数据单位「D2」815,数据单位「D2」815未必与数据单位D1805是循序的。可在时间821及822处芯片选择信号的切换及频率信号的运行之间在下一缓存读取命令823中通过相关联的缓存地址824识别下一数据单位「D3」825。地址824识别欲自保存数据区段902的缓存区块读取的数据单位「D3」825。如图所示,数据单位D3相对于数据区段902的开头在非零偏移处开始。因此,在将数据区段2自存储器加载至可用缓存区块中所需的延迟时间tRDSEG2之后,缓存读取命令823由主机发布,并在存储器处被接收。
在此实例中,在时间831处芯片选择信号的切换、频率信号的起始与时间832处芯片选择信号的切换之间接收的下一缓存读取命令833及相关联的地址834识别欲自保存数据区段904的缓存区块读取的数据单位「D4」835,进而跳过数据区段903。因此,在延迟时间tRDSEG3与延迟时间tRDSEG4的组合之后,主机发布缓存读取命令833,进而允许在数据区段3之后有足够的时间将数据区段4加载至可用缓存区块中。
主机可根据所期望序列来发布缓存读取命令,所述缓存读取命令不需要具有循序地址。由主机执行的流程图可如图7所示,而与缓存读取命令中的每一者相关联的地址可根据正在读取的档案中的数据的使用优先级或主机装置控制内的其他因素来设定。存储器装置上的控制器可包括状态机或其他逻辑电路,以执行与来自主机的此命令序列互补的操作,如上所述。在此实例中,数据D1及数据D2中的缓存地址在一个缓存区块中的同一区段中,而数据D3的缓存地址在另一个缓存区块中的不同区段中。读取同一区段中的数据(数据1及数据2)没有背景定时约束,假设在发布命令时所述区段在缓存中。然而,当数据区段尚未在缓存区块中时,主机需要等待与将包括经寻址数据的数据区段自存储器加载至数据缓存器并加载至缓存区块中所花费的时间量对应的延迟时间。若下一数据在读取操作中落在下一区段中,则此时间量可为将一个区段加载于缓存中的时间,或者若下一数据(D4)在读取操作中落在较下一区段更晚的区段中,则此时间量可为将多于一个区段加载于缓存中的时间。
图8亦示出其中缓存读取命令可携载页面地址及缓存地址的命令协议。缓存读取命令可仅包括缓存地址以支持随机缓存连续读取功能,或者缓存读取命令可包括缓存地址及页面地址以支持具有随机缓存读取的随机页面连续读取操作。
对于支持非循序页面的连续页面读取,在存储器装置上可包括控制器,所述控制器对在输入/输出接口处接收的命令作出响应,用以控制存储器操作,包括在I/O接口处输出页面媒体流的连续页面读取操作。连续读取操作包括对一系列命令作出响应,所述一系列包括欲起始连续页面读取操作的第一命令(连续页面读取)以及欲将数据自缓存移动至接口的一或多个媒体流内命令(缓存读取)。第一命令包括页面地址,以启动连续页面读取操作以循序地将页面自页面地址加载至页面缓冲器,将页面移动至缓存中的可用缓存区块,并将下一页面自下一页面地址加载至页面缓冲器,其中控制器被配置成使用循序地址及非循序地址之一作为下一页面地址以提供页面媒体流。在其中所述一或多个媒体流内命令中的一个媒体流内命令是自缓存读取页面媒体流中前一页面的数据的实施例中,与用于缓存读取的缓存地址一起来提供非循序页面地址。循序页面地址可在其中媒体流内命令不需要包括页面地址的情形中由内部地址计数器提供,或者可由媒体流内命令提供。命令可在此实例以及本发明阐述的所有实例中提供包括数个位以识别缓存内的经寻址数据单位的缓存地址,或者可包括组合页面/缓存地址,所述组合页面/缓存地址在单个地址中包括作为较高阶位的页面地址位及作为较低阶位的缓存地址位。
由存储器控制器执行的连续页面读取操作循序地将第一页面区段901载入至缓存中的可用缓存区块中,并将第二页面区段载入至缓存中的可用缓存区块中。第二页面区段902可驻存于与第一页面区段不同的页面上。协议可包括在时间801及802处芯片选择信号的切换及频率信号的运行之间,接收具有相关联页面/缓存地址804的缓存读取命令803,所述相关联页面/缓存地址804具有第一数据单位的缓存地址及页面媒体流中下一页面的页面地址。数据单位805可例如包括64个字节,所述64个字节在页面/缓存地址804的缓存地址处起始,其长度例如由数据输出阶段频率循环的数目决定。如图所示,可存在对区段901进行存取的具有页面/缓存地址814的另一缓存读取命令813。但在一些序列中可省略与前一命令803自同一缓存区块中的同一数据区段进行读取的命令813。在第二缓存读取命令813之后,或者在同一区段中的一或多个附加缓存读取命令之后,在时间821及822处芯片选择信号的切换之间,接收针对第三数据单位825的具有相关联页面/缓存地址824的下一读取命令823。在此实例中,在缓存读取命令823之后,在时间831及832处芯片选择信号的切换之间,接收针对第四数据单位835的具有相关联页面/缓存地址834的下一读取命令833。在随机连续页面读取操作中,下一读取命令833中的页面地址可为非循序的。在寻址至第一区段的缓存读取命令与寻址至后一区段的缓存读取命令的起始之间可需要延迟时间间隔,以允许将由页面/缓存地址(例如834)识别的后一区段的数据加载至缓存中。存储器装置上的控制器可包括状态机或其他逻辑电路,以执行与来自主机的此命令序列互补的操作,如上所述。
在此实例中,控制器可读取页面/缓存地址,以将连续页面读取操作随机地移位至不同的页面。此使得能够实施随机页面连续读取操作,在2019年8月19日提出申请的美国专利申请第16/544,055号(名称为非循序页面连续读取(Non-Sequential Page ContinuousRead)(US 2020/0142843))及2019年8月6日提出申请的美国专利申请第16/533,463号(名称为快速页面连续读取(Fast Page Continuous Read)(US 2020/0125443))中所阐述,这些美国专利申请通过引用的方式并入本案,就像在本发明中完全陈述一样。
图9是示出在主机上执行以实行连续页面读取操作的算法的流程图,所述算法具有如图8所示的随机缓存地址能力。在此实例中,操作开始于主机发布欲读取存储器装置中所存储的档案的页面读取命令(1051)。在发布页面读取命令之后,主机等待页面读取延迟时间(例如,tRDSEGx),或者读取存储器装置上的状态缓存器,例如读取完成状态,其指示在页面读取命令中识别的页面在高速缓存中准备好供读取(1052)。当准备好时,主机发布包括缓存地址的缓存读取命令,并读取长度例如由频率循环的数目(在此实例中,频率循环的数目与命令相关联)决定的数据单位。在读取数据之后,主机判断是否已到达档案的末尾或者是否已读取主机所期望的档案中的所有数据(1054)。若否,则主机判断欲读取的下一数据单位是否与前一数据单位驻存于同一缓存区块中(1055)。若下一数据单位在同一区段中,则主机循环至步骤1053,并发布下一缓存命令。若在步骤1055处下一数据单位在缓存的不同区段中或者在不同的页面中,则主机等待(视配置及地址而定,一个页面、一个区段或多个区段的)读取延迟时间或者执行其他延迟控制,例如读取状态缓存器(1056)。在延迟控制之后,主机循环至步骤1053以发布下一缓存读取命令。若在步骤1054处,主机完成在此连续读取操作中读取数据,则主机发布终止命令(1057)。
图10及图11示出可被部署像图8一样的连续读取操作的具有二个缓存区块的单阵列存储器结构及二阵列存储器结构。图12是可使用像图10及图11一样的存储器结构来执行的示例性命令序列。
在图10中,单个存储器阵列1201实施有单个页面缓冲器1202。层1203中的中间缓冲器1及中间缓冲器2设置于页面缓冲器1202与包括第一缓存区块1205及第二缓存区块1204的缓存之间。对于此种配置,页面大小等于页面缓冲器1202的大小。一个缓存区块的大小等于页面大小的一半。
图11示出其中部署二个存储器阵列1301、1302的实施例,存储器阵列1301、1302各自具有具对应缓存区块1304、1306的页面缓冲器1303、1305。对于此种配置,页面大小是页面缓冲器大小的二倍,使得一个页面等于页面缓冲器1的大小+页面缓冲器2的大小。缓存区块的大小仍为页面大小的一半。
图12示出可使用图10及图11所示存储器结构而应用的连续页面读取操作的读取波形。在此流程中,在来自页面N的缓存区块1变得可用时,主机与芯片选择信号及串列频率相协调地发布缓存读取命令,所述缓存读取命令包括数据D1的地址。此地址可包括D1的字节0的缓存地址,且循序字节随串列频率被输出。在后续时间,此实例中的主机发布第二读取命令,所述第二读取命令携载缓存区块1中的数据D2的字节0的地址。当自页面N加载第二缓存区块时,主机可发布第三读取命令,所述第三读取命令携载主机过程所期望的数据D3等的第一字节在缓存中的地址。在连续读取操作中,在允许载入页面N+1的读取区段延迟之后,主机可发布第四读取命令,所述第四读取命令携载数据D4在缓存区块1中的地址。在此实例中,数据D4被示为包括因应于读取命令而在存储器芯片的I/O上可用的512个字节。在自页面N+1加载第二区段之后,主机可发布后续读取命令,例如针对数据D5的第五读取命令及针对数据D6的第六读取命令。
对于此种不进行页面寻址的情形,在一些实施例中,主机仅可自缓存区块1跳转至缓存区块2,或者自缓存区块2跳转至缓存区块1。不允许主机自页面N中的缓存区块1跳转至页面N+1中的缓存区块1。在此实例中,存储器芯片上的控制器可仅因应于缓存地址而自一个缓存区块移动至另一缓存区块。
图13及图14示出可被部署像图8一样的连续读取操作的具有四个缓存区块的二阵列存储器结构及四阵列存储器结构。附图是不言自明的。图15是可使用像图13及图14一样的存储器结构来执行的示例性命令序列。
在图13所示二阵列存储器结构中,页面大小等于页面缓冲器大小的二倍(页面缓冲器1+页面缓冲器2)。一个缓存区块容纳页面大小的四分之一。在图14所示四阵列存储器结构中,页面大小等于页面缓冲器大小的四倍(页面缓冲器1+页面缓冲器2+页面缓冲器3+页面缓冲器4)。缓存区块大小是页面大小的四分之一。
图15所示的示例性读取操作用于像图13及图14一样包括四个缓存区块的实施方案。在连续页面读取操作中,在载入缓存区块1之后,主机可发布第一读取命令,所述第一读取命令携载数据D1的第一字节的地址。此外,主机可发布第二读取命令,所述第二读取命令携载第一缓存区块内数据D2的第一字节的地址。在加载第二缓存区块之后,主机可发布第三读取命令,所述第三读取命令携载第二缓存区块中数据D3的第一字节的地址。在示例性操作中,主机可发布第四读取命令,所述第四读取命令被寻址至第四缓存区块中的数据D4,进而跳过第三缓存区块。此后,主机可在下一页面N+1中的数据D5被加载至下一页面的第二缓存区块中之后,发布被寻址至数据D5的第五读取命令。在所述序列中,存储器芯片上的控制器可仅因应于读取命令中的缓存地址而自一个区段跳转至另一区段。在此种存储器结构中,主机可被配置成发布在缓存区块间跳转而跳过零个、一个或二个区块的读取序列。例如,对于单个页面中的数据,读取序列可自缓存区块1跳至缓存区块4,进而跳过缓存区块2及3。此外,读取序列可自缓存区块2跳至下一页面中数据的缓存区块1,或者自区段3跳至下一页面中数据的缓存区块2,自区段4跳至下一页面中数据的缓存区块3。
存储器结构及读取操作的这些实例是在本发明阐述的技术的实施例中可用的广泛实施方案的实例。
图16是根据实施例的集成电路存储器装置的示意性芯片方块图。集成电路存储器装置1100在单个集成电路基板上包括存储具有ECC的数据的存储器阵列1160,例如与非门快闪阵列。亦可使用多芯片模块、叠层式芯片及其他配置来实施本发明阐述的存储器装置。
集成电路存储器装置1100上具有命令译码器1108的控制逻辑1110包括例如状态机等逻辑,所述逻辑因应于所接收的命令而执行连续读取操作,包括本发明参照图5、图6、图8、图12及图15阐述的操作中的一或多者。控制逻辑1110可包括状态缓存器1111。控制逻辑1110输出控制信号(在图上由箭头表示)且在总线1130上输出地址。在总线1130上施加的地址可包括例如控制逻辑1110中的地址计数器的输出或者所接收的命令中携载的地址。
译码器1140耦合至沿着具有ECC的存储器阵列1160中的列排列的多个字线1145,且耦合至页面缓冲器1171。页面缓冲器1171耦合至沿着具有ECC的存储器阵列1160中的行排列的多个位线1165,以自具有ECC的存储器阵列1160读取数据及向其写入数据。
页面缓冲器1171可包括为每一位线用作数据缓存器的一或多个存储元件。译码器1140可选择具有ECC的存储器阵列1160中的特定存储器单元并经由相应的连接位线将所述特定存储器单元耦合至页面缓冲器1171。页面缓冲器1171可存储被并列地写入至这些特定存储器单元或自这些特定存储器单元读取的数据。页面缓冲器1171的页面宽度可为包括数千字节(例如2千字节或4千字节或更多)的页面加上包括相关联ECC码的备用字节。一个页面可包括多个ECC组块,其中ECC组块包括数据区段及相关联ECC码(即,已针对所述数据区段进行了ECC计算)。在实施例中,每一页面包括2个ECC组块,所述ECC组块的ECC宽度等于半个页面加上相关联ECC码的大小。在一些实施例中,每页面可存在多于2个ECC组块。
此实施例中的缓冲存储器结构包括第二缓冲层阶,所述第二缓冲层阶包括二个部分,在此实例中被标示为缓存区块11181及缓存区块21182,其中第二缓冲层阶的每一部分可存储页面缓冲器的内容的一部分(例如一半),其中页面缓冲器的内容的所述一部分较佳地包括一或多个ECC组块。缓存区块1181及1182的大小未必小于一个页面。在一个实施例中,缓存大小可与页面大小相同,即一个缓存区块1181的大小可为一个页面。此外,在一些实施例中,一个缓存区块1181的大小可多于一个页面,例如每缓存区块二或更多个页面。在缓存区块大小为一个页面或更多页面的情形中,主机可从中随机地读取一个页面,乃因缓存的每一区段是至少一个页面。此外,第二缓冲层阶的每一部分可被独立地读取及写入。
在一些实施例中,缓存区块(例如,区块1、区块2)可使用双端口或多端口存储器技术来实施,进而允许对不同地址进行独立的读取及写入,或者可使用具有单独地址译码及读出电路的多个存储器组(bank)来实施。其他实施例可包括三层阶缓冲结构,所述三层阶缓冲结构包括页面缓冲器1171及二个附加缓冲层阶。此外,可在页面缓冲器与接口之间的数据路径电路中实施缓冲存储器结构的其他布置。
页面缓冲器1171经由X个数据线与具有ECC的存储器阵列1160耦合,其中X至少是页面加上ECC码而成的宽度,且经由各自为Y个位的总线1175、1176与缓冲结构的第二层阶缓冲器(区块1、区块2)耦合,其中总线1175、1176可具有等于页面缓冲器1171的一半宽度的宽度,或者在具有大的缓存区块大小的一些情形中具有等于页面缓冲器宽度的宽度。第二层阶缓冲器区块1、区块2可各自利用具有单列多行式架构的高速缓存来实施,例如使用静态随机存取存储器(SRAM)结构来实施。例如,页面可包括2048个字节+包括ECC码的备用字节,且区块1可具有具1024个字节(+包括ECC码的备用字节)行的一列或者1024个字节+包括ECC码的备用字节的宽度。缓冲器区块1及区块2可被操作成使得页面缓冲器中的数据页面可被并列地传输至缓冲器区块1及区块2,且使用一个缓冲存储器循环并列地传输。此外,缓冲器区块1及区块2可被操作成使得页面缓冲器中的数据页面的一部分可被并列地传输至缓冲器区块1及区块2中的每一者,进而允许在相同或不同的缓冲存储器循环中将页面的第一部分传输至第二缓冲层阶的第一部分(例如区块1)且将页面的第二部分传输至第二缓冲层阶的第二部分(例如区块2)。
第三层阶缓冲器亦可利用具有单列多行式架构的高速缓存来实施,例如使用静态随机存取存储器(SRAM)结构来实施。例如,页面可包括2048个字节+包括ECC码的备用字节,且第三层阶区块1可具有具1024个字节(+包括ECC码的备用字节)行的一列或者1024个字节+包括ECC码的备用字节的宽度。第三层阶缓冲器可被操作成使得页面缓冲器中的数据页面可使用一个缓冲存储器循环被并列地传输至第三层阶缓冲器。此外,第三层阶缓冲器可被操作成使得第二层阶缓冲器中的数据页面的一部分可被并列地传输至第三层阶缓冲器中的每一者,进而允许在相同或不同的缓冲存储器循环中将页面的第一部分传输至第三缓冲层阶的第一部分且将页面的第二部分传输至第三缓冲层阶的第二部分。
错误检查及校正ECC电路1190通过数据总线1184及数据总线1185耦合至缓冲存储器结构(1181、1182及三层阶实施例)。数据总线1184及1185可具有小于ECC组块(例如一个字节或一个字符)的总线宽度,并且由ECC电路1190使用来循环通过ECC组块以实行错误检查及错误校正的ECC操作(例如,校验子(syndrome)计算、键(key)计算、陈氏(Chien)搜寻)。ECC电路通过数据总线1191耦合至缓冲存储器结构(1181、1182),以根据需要来回移动数据。
I/O接口1105通过数据总线1191耦合至ECC电路及缓冲存储器结构(1181、1182),I/O接口1105可包括I/O缓冲器,所述I/O缓冲器包括字节宽或多个字节宽的传送缓存器或先进先出(First In First Out,FIFO)缓冲器。
输入/输出数据及控制信号在接口1105、命令译码器1108及控制逻辑1110以及集成电路存储器装置1100上的输入/输出端口1195或集成电路存储器装置1100内部或外部的其他数据源之间移动。在一些实施例中,I/O端口1195可连接至芯片上主机电路,例如通用处理器或专用应用电路系统或者提供由具有ECC的存储器阵列1160支持的单芯片系统功能的模块组合。
在一个实施例中,接口1105是包括用以传达命令、地址及数据的一组I/O端口1195的串列接口。所述串列接口可基于或符合串列周边接口(SPI)总线规范,其中命令信道共享由地址及数据使用的I/O接脚。例如,集成电路存储器装置1100可包括使用接脚来接收及传送SPI总线信号的输入/输出端口。一个接脚可连接至携载串列输入数据/地址信号SI的输入数据线,所述输入数据线亦可用于命令。另一接脚或多个其他接脚可连接至携载串列输出数据信号SO的一或多个输出数据线。另一接脚可连接至携载串列频率信号SCLK的频率线。又一接脚可连接至携载芯片赋能(chip-enable)或芯片选择信号CS#的控制线。亦可使用其他类型的接口,包括并列接口。特定集成电路存储器装置1100上的I/O端口1195可被配置成提供具有I/O数据宽度的输出数据,对于一些实例,所述I/O数据宽度可为每接口频率(例如,SCLK)循环并列的1个、4个、8个、16个、32个或更多个位。I/O接口1105可包括FIFO缓冲器、移位寄存器缓冲器或其他支持电路以及传送器,所述传送器用于以端口时钟速率(例如SPI接口的SCLK速率)在端口上传送于接口处接收的数据。在本发明中阐述的实例中,图中所提及的SCLK可从外部自主机供应。在其他实例中,SCLK可在内部产生。
在图16所示的实例中,控制逻辑1110使用偏压布置状态机来控制通过区块1120中的一或多个电压电源产生或提供的偏压布置电源电压的施加,例如读取、程序化及擦除电压,包括将存储器阵列中的页面的数据传输至页面缓冲器的页面读取。控制逻辑1110耦合至多层阶缓冲结构、ECC电路1190及具有ECC的存储器阵列1160。
控制逻辑1110及命令译码器1108构成控制器,所述控制器可使用包括状态机及支持逻辑的专用逻辑电路系统来实施。在替代实施例中,控制逻辑包括通用处理器,所述通用处理器可在同一集成电路上实施且执行计算机程序来控制装置的操作。在又一些其他实施例中,可利用专用逻辑电路系统与通用处理器的组合来实施控制逻辑。
控制器的命令译码器1108及控制逻辑1110被配置成使用多个缓存读取命令来执行连续页面读取操作。在本发明中阐述的实施例中,控制器因应于在输入/输出接口处接收的命令而控制存储器操作,包括在I/O接口处输出页面媒体流的连续页面读取操作。
图17示出其中存储器装置包括被配置成用于与主机(例如SOC集成电路)通讯的控制芯片1710及存储器芯片1780的配置。可在多芯片封装体或多芯片模块中实施控制芯片1710及存储器芯片1780。在一些实施例中,可在多芯片封装体或多芯片模块中实施SOC集成电路1790、控制芯片1710及存储器芯片1780。
在一些实施方案中,可在集成电路上实施存储器装置,其中高速缓存区段受到芯片上空间限制、内连限制及效能限制的约束。在一些情形中,期望使高速缓存具有至少与一个页面一样大的第一区段及第二区段。此允许主机在单个缓存区块中的单个页面内执行随机缓存读取。单个区段中的随机缓存读取可避免在缓存区块之间进行切换时可能出现的任何定时限制。
如图17所示,存储器装置可包括多于一个集成电路芯片。在此实例中,存储器装置包括具有存储器接口1711的控制芯片1710,存储器接口1711通过线路1781连接至存储器芯片1780。控制芯片1710包括通过总线1791连接至主机SOC 1790的I/O接口1712。在一些实施例中,I/O接口1712可以与参照图16阐述的实施例中的I/O接口1105相同的方式进行配置。此实例中的控制芯片1710包括ECC电路1721、缓存区块1(1722)及缓存区块2(1723)。此外,控制芯片1710包括具有命令译码器1716的控制逻辑1715。存储器接口1711通过内部总线1725连接至ECC电路1721、缓存区块1(1722)及缓存区块2(1723)。此外,存储器接口1711通过线路1727连接至控制逻辑1715。在此实例中,I/O接口1712通过内部总线1726连接至缓存区块1(1722)及缓存区块2(1723)。此外,I/O接口1712通过线路1728连接至命令译码器1716及控制逻辑1715,由命令译码器1716及控制逻辑1715自主机1790接收命令,包括缓存读取命令、页面读取命令等等,所述页面读取命令包括连续页面读取命令及连续随机页面读取命令。此外,控制逻辑1715通过内部总线1729连接至ECC电路1721、缓存区块1(1722)及缓存区块2(1723)。控制逻辑1715编制存储器芯片命令,以通过所述存储器芯片命令来控制存储器操作,进而使存储器芯片1780执行支持数据自存储器芯片1780上的存储器阵列例如通过页面缓冲器或其他缓冲结构传输至高速缓存区段1722及1723所需的存储器操作。
在图17所示配置中,可实施上述所有操作,此可利用更大的缓存区块大小或者更快或更高效的主机接口。在一些实施例中,缓存区块1(1722)及缓存区块2(1723)大至足以保存一个页面或多于一个页面。在其他实施例中,缓存区块1(1722)及缓存区块2(1723)的缓存区块大小可小于一个页面。在其他实施例中,可部署多于二个缓存区块。
如图7及图9中所阐述由主机执行的方法的其他实施方案可包括一种非暂时性计算机可读取存储介质,所述非暂时性计算机可读取存储介质存储可由处理器执行以实行上述方法中的任一者的指令。在本章节中阐述的方法的又一实施方案可包括一种系统,所述系统包括存储器及一或多个处理器,所述一或多个处理器可运行以执行存储器中所存储的指令,以实行上述方法中的任一者。
根据许多实施方案,以上阐述或提及的任何数据结构及码被存储于计算机可读取存储介质上,所述计算机可读取存储介质可为能够存储供计算机系统使用的码及/或数据的任何装置或介质。此包括但不限于易失性存储器、非易失性存储器、特殊应用集成电路(application-specific integrated circuit,ASIC)、现场可程序化门阵列(field-programmable gate array,FPGA)、磁性及光学存储装置(例如磁盘驱动器、磁带、光盘(compact disc,CD)、数字多功能光盘或数字视频光盘(digital versatile disc或digital video disc,DVD))、或者能够存储现在已知或以后开发的计算机可读取介质的其他介质。
字节是在许多集成电路逻辑及存储器电路中使用的基本存储单位,且由八个字节成。基本存储单位可具有其他大小,例如包括一个位、二个位、四个位、16个位等等。因此,本发明中利用用语「字节」阐述的实例普遍地适用于使用不同大小的存储单位的电路,如通过将用语「字节」或「字节集合」替换成存储单位或存储单位集合所阐述。此外,在一些实施例中,在单个命令序列中可使用不同大小的存储单位,例如一或多个四位存储单位与八位存储单位的组合。
本发明中阐述了示出由存储器控制器或存储器装置执行的逻辑的数个流程图。所述逻辑可使用处理器来实施,所述处理器使用存储于可由计算机系统存取的存储器中且可由处理器执行的计算机程序、通过专用逻辑硬件(包括现场可程序化集成电路)以及通过专用逻辑硬件与计算机程序的组合来程序化。对于本发明中的所有流程图,将了解,许多步骤可被组合、并行实行或者以不同的顺序实行,而不影响所达成的功能。在一些情形中,如本领域技术人员将了解,只有在作出某些其他改变的情况下,步骤的重新安排才会达成相同的结果。在其他情形中,如本领域技术人员将了解,只有在满足某些条件的情况下,步骤的重新安排才会达成相同的结果。此外,将了解,本发明中的流程图仅示出与对本发明的理解相关的步骤,且将理解,在示出的步骤之前、之后及之间,可实行用于达成其他功能的众多附加步骤。
至此,已经结合附图对本公开实施例进行了详细描述。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种存储器装置,其中,包括:
存储器阵列;
数据缓存器,可操作的耦合至所述存储器阵列;
缓存,以可操作的耦合至所述数据缓存器;
输入/输出接口,以可操作的耦合至所述缓存;以及
控制器,对在所述输入/输出接口处接收的命令及地址作出响应,包括用以控制存储器操作的逻辑电路,所述存储器操作包括:
i)连续读取操作,将数据区段媒体流自所述存储器阵列输出至所述数据缓存器并自所述数据缓存器输出至所述缓存,以及
ii)缓存读取操作,将数据自所述缓存输出至所述输入/输出接口,
其中所述控制器操作包括:
a)因应于读取命令而执行所述连续读取操作以循序地将区段加载至所述数据缓存器并将所述区段移动至所述缓存,
b)因应于缓存读取命令而执行所述缓存读取操作以将所述数据自所述缓存移动至所述输入/输出接口,且暂停自所述缓存移动所述数据直至下一缓存读取命令为止,以及
c)终止所述连续读取操作。
2.根据权利要求1所述的存储器装置,其中,所述控制器接收频率信号,且在所述缓存读取操作中移动至所述输入/输出接口的所述数据具有由所述频率信号的频率循环数目决定的长度,并且当所述频率信号停止时,所述缓存读取操作被暂停。
3.根据权利要求2所述的存储器装置,其中,所述输入/输出接口包括频率输入,且所述控制器自所述频率输入接收所述频率信号。
4.根据权利要求1所述的存储器装置,其中,所述缓存读取命令包括缓存地址,且自所述缓存输出的所述数据是根据所述缓存地址而选择。
5.根据权利要求1所述的存储器装置,其中,所述缓存包括第一缓存区块及第二缓存区块,且所述连续读取操作在所述缓存读取操作将数据自所述第二缓存区块移动至所述输入/输出接口时将数据自所述数据缓存器加载至所述第一缓存区块,且在所述缓存读取操作将数据自所述第一缓存区块移动至所述输入/输出接口时将数据自所述数据缓存器加载至所述第二缓存区块。
6.根据权利要求5所述的存储器装置,其中,所述缓存读取命令包括页面地址及缓存地址。
7.根据权利要求6所述的存储器装置,其中,所述缓存读取命令中的地址能够指示欲自所述第一缓存区块及所述第二缓存区块中的一被选择的数据,所述被选择数据不同于在紧接在前的缓存读取命令中的缓存读取命令地址中被识别的所述第一缓存区块及所述第二缓存区块中的所述一个的数据。
8.根据权利要求1所述的存储器装置,其中,所述缓存读取命令包括页面地址,且所述连续读取操作根据所述缓存读取命令中的所述页面地址来选择下一页面用于循序页面加载。
9.根据权利要求1所述的存储器装置,其中,所述存储器阵列设置于一个集成电路芯片上,且所述缓存及所述控制器的至少部分实施于第二集成电路芯片上,并且其中所述缓存包括第一缓存区块及第二缓存区块。
10.根据权利要求1所述的存储器装置,其中,所述缓存包括三或更多个缓存区块。
11.一种用于操作存储器装置的方法,其中,所述存储器装置具有存储器阵列、可操作的耦合至所述存储器阵列的数据缓存器、可操作的耦合至所述数据缓存器的缓存以及可操作的耦合至所述缓存的输入/输出接口,所述方法包括:
执行连续读取操作以循序地将数据区段加载至所述数据缓存器并将所述数据区段自所述数据缓存器移动至所述缓存,其中因应于读取命令执行所述连续读取操作;
执行缓存读取操作以将数据自所述缓存移动至所述输入/输出接口,且暂停将所述数据自所述缓存移动至所述输入/输出接口直至缓存读取命令序列中的下一缓存读取命令为止,其中因应于当前缓存读取命令执行所述缓存读取操作;以及
终止所述连续读取操作。
12.根据权利要求11所述的方法,其中,在所述缓存读取操作中移动至所述输入/输出接口的所述数据具有由频率信号的频率循环数目决定的长度,且通过停止所述频率信号来暂停所述缓存读取操作。
13.根据权利要求11所述的方法,其中,所述缓存读取命令包括缓存地址,且根据所述缓存地址来选择自所述缓存移动的所述数据。
14.根据权利要求11所述的方法,其中,所述缓存包括第一缓存区块及第二缓存区块,且所述连续读取操作在所述缓存读取操作将数据自所述第二缓存区块移动至所述输入/输出接口时将数据自所述数据缓存器加载至所述第一缓存区块,且在所述缓存读取操作将数据自所述第一缓存区块移动至所述输入/输出接口时将数据自所述数据缓存器加载至所述第二缓存区块。
15.根据权利要求14所述的方法,其中,所述缓存读取命令包括页面地址及缓存地址。
16.根据权利要求15所述的方法,其中,所述缓存读取命令中的地址能够指示欲自所述第一缓存区块及所述第二缓存区块中的一被选择的数据,所述被选择数据不同于紧接在前的缓存读取命令中的缓存读取命令地址中被识别的所述第一缓存区块及所述第二缓存区块中的所述一个的数据。
17.根据权利要求11所述的方法,其中,所述缓存读取命令包括页面地址,且所述连续读取操作根据所述缓存读取命令中的所述页面地址来选择下一页面用于循序页面加载。
18.一种自存储器装置读取档案的方法,其中,所述存储器装置具有存储器阵列、可操作的耦合至所述存储器阵列的数据缓存器、可操作的耦合至所述数据缓存器的缓存以及可操作的耦合至所述缓存的输入/输出接口,所述方法包括:
发布读取命令以在所述存储器装置上启动连续读取操作,进而循序地将档案的区段加载至所述数据缓存器并将所述档案区段自所述数据缓存器移动至所述缓存;
发布当前缓存读取命令并自所述缓存读取数据,将所述数据加载于缓冲器中,并与所述连续读取操作相协调地暂停将所述数据自所述缓存移动至所述缓冲器直至下一缓存读取命令为止,且根据所述缓冲器中存储器空间的可用性而发布所述下一缓存读取命令,并继续以序列发布缓存读取命令以读取所述档案;以及
发布终止信号,以终止所述连续读取操作。
19.根据权利要求18所述的方法,其中,所述缓存读取命令包括缓存地址及页面地址,且根据所述缓存地址来选择自所述缓存读取的所述数据以及根据所述页面地址来选择下一页面用于循序页面加载。
20.根据权利要求18所述的方法,其中,所述缓存包括第一缓存区块及第二缓存区块,且所述连续读取操作在所述缓存读取操作将数据自所述第二缓存区块移动至所述输入/输出接口时将数据自所述数据缓存器加载至所述第一缓存区块,且在所述缓存读取操作将数据自所述第一缓存区块移动至所述输入/输出接口时将数据自所述数据缓存器加载至所述第二缓存区块。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062985898P | 2020-03-06 | 2020-03-06 | |
US62/985898 | 2020-03-06 | ||
US17/061451 | 2020-10-01 | ||
US17/061,451 US11249913B2 (en) | 2020-03-06 | 2020-10-01 | Continuous read with multiple read commands |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360085A true CN113360085A (zh) | 2021-09-07 |
CN113360085B CN113360085B (zh) | 2024-08-13 |
Family
ID=77524808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110059141.0A Active CN113360085B (zh) | 2020-03-06 | 2021-01-15 | 存储器装置、用于操作其的方法以及自其读取档案的方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11249913B2 (zh) |
CN (1) | CN113360085B (zh) |
TW (1) | TWI785448B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349203A (zh) * | 2023-10-23 | 2024-01-05 | 哈尔滨商业大学 | 一种控制数据处理方法及装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11249913B2 (en) | 2020-03-06 | 2022-02-15 | Macronix International Co., Ltd. | Continuous read with multiple read commands |
US11693774B2 (en) * | 2021-08-05 | 2023-07-04 | Micron Technology, Inc. | Selectively utilizing a read page cache mode in a memory subsystem |
CN114490466B (zh) * | 2021-12-28 | 2024-04-30 | 深圳市紫光同创电子有限公司 | 一种实现数据连续存储的ddr ip核架构及方法 |
US11782824B2 (en) * | 2022-02-08 | 2023-10-10 | Macronix International Co., Ltd. | Universal data path architecture for different data array |
CN114721590B (zh) * | 2022-03-11 | 2024-09-13 | 成都储迅科技有限责任公司 | 一种基于硬件的固态硬盘读命令自动整合的方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458662A (zh) * | 2007-12-14 | 2009-06-17 | 创惟科技股份有限公司 | 改进闪存存取效率的存储系统与方法 |
CN104866432A (zh) * | 2014-02-24 | 2015-08-26 | 斯班逊有限公司 | 具有绕回-至-连续读取的存储器子系统 |
CN105900069A (zh) * | 2014-01-07 | 2016-08-24 | 苹果公司 | 对被存储在闪存存储器中的数据的推测性预取 |
US20180039447A1 (en) * | 2016-08-02 | 2018-02-08 | SK Hynix Inc. | Memory system and operation method for the same |
US20180088867A1 (en) * | 2016-09-28 | 2018-03-29 | Winbond Electronics Corp. | Semiconductor memory device and continuous reading method for the same |
US20190196972A1 (en) * | 2017-12-21 | 2019-06-27 | Western Digital Technologies, Inc. | Managing flash memory read operations |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0169419B1 (ko) | 1995-09-28 | 1999-02-01 | 김광호 | 불휘발성 반도체 메모리의 독출방법 및 장치 |
US6615307B1 (en) | 2000-05-10 | 2003-09-02 | Micron Technology, Inc. | Flash with consistent latency for read operations |
JP3631209B2 (ja) | 2000-03-30 | 2005-03-23 | マイクロン テクノロジー インコーポレイテッド | 読み出し処理におけるレイテンシを一致させたフラッシュ |
US7051264B2 (en) | 2001-11-14 | 2006-05-23 | Monolithic System Technology, Inc. | Error correcting memory and method of operating same |
JP4004811B2 (ja) | 2002-02-06 | 2007-11-07 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6870774B2 (en) | 2002-12-10 | 2005-03-22 | Micron, Technology, Inc. | Flash memory architecture for optimizing performance of memory having multi-level memory cells |
KR100759427B1 (ko) | 2005-03-17 | 2007-09-20 | 삼성전자주식회사 | 전력 소모가 적은 하드디스크 드라이버 및 이를 구비한 정보처리 시스템, 그리고 그들의 데이터 입출력 방법 |
US7644224B2 (en) | 2005-11-15 | 2010-01-05 | Sandisk Il Ltd. | Flash memory device and method |
US7423915B2 (en) | 2006-01-17 | 2008-09-09 | Spansion Llc | Random cache read using a double memory |
CN101617371B (zh) | 2007-02-16 | 2014-03-26 | 莫塞德技术公司 | 具有多个外部电源的非易失性半导体存储器 |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
CN101162449B (zh) | 2007-10-08 | 2010-06-02 | 福州瑞芯微电子有限公司 | Nand flash控制器及其与nand flash芯片的数据交互方法 |
JP2009158015A (ja) | 2007-12-26 | 2009-07-16 | Toshiba Corp | 不揮発性半導体記憶装置 |
TWI494756B (zh) | 2009-08-26 | 2015-08-01 | Phison Electronics Corp | 下達讀取指令的方法、快閃記憶體控制器與快閃記憶體儲存系統 |
KR101154001B1 (ko) | 2009-11-12 | 2012-06-08 | 에스케이하이닉스 주식회사 | 어드레스제어회로 및 반도체메모리장치 |
JP2011197819A (ja) | 2010-03-17 | 2011-10-06 | Toshiba Corp | 半導体装置 |
CN106776355B (zh) | 2010-12-24 | 2021-01-08 | 美光科技公司 | 对存储器的连续页面读取 |
JP5658082B2 (ja) | 2011-05-10 | 2015-01-21 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US8705293B2 (en) | 2011-10-20 | 2014-04-22 | Sandisk Technologies Inc. | Compact sense amplifier for non-volatile memory suitable for quick pass write |
JP5323170B2 (ja) | 2011-12-05 | 2013-10-23 | ウィンボンド エレクトロニクス コーポレーション | 不揮発性半導体メモリおよびそのデータの読出し方法 |
JP2013232263A (ja) | 2012-04-27 | 2013-11-14 | Toshiba Corp | 半導体メモリ |
US9128822B2 (en) | 2012-06-22 | 2015-09-08 | Winbond Electronics Corporation | On-chip bad block management for NAND flash memory |
US9009566B2 (en) | 2012-09-12 | 2015-04-14 | Macronix International Co., Ltd. | Outputting information of ECC corrected bits |
KR102002925B1 (ko) | 2012-11-01 | 2019-07-23 | 삼성전자주식회사 | 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법 |
CN103871447B (zh) | 2012-12-14 | 2017-03-01 | 华邦电子股份有限公司 | 与非门快闪存储器阵列及芯片及其存取、读取及管理方法 |
US9690650B2 (en) | 2013-03-11 | 2017-06-27 | Macronix International Co., Ltd. | Storage scheme for built-in ECC operations |
US9136006B2 (en) | 2013-03-11 | 2015-09-15 | Macronix International Co., Ltd. | Method and device for reducing coupling noise during read operation |
CN104425014B (zh) * | 2013-09-02 | 2018-02-27 | 华邦电子股份有限公司 | 序列式nand型闪存、闪存装置及其操作方法 |
US8902668B1 (en) | 2013-10-15 | 2014-12-02 | Sandisk Technologies Inc. | Double verify method with soft programming to suppress read noise |
US9437302B2 (en) | 2014-02-06 | 2016-09-06 | Sandisk Technologies Llc | State-dependent lockout in non-volatile memory |
US9411521B2 (en) | 2014-05-30 | 2016-08-09 | Macronix International Co., Ltd. | Method and apparatus for improving sequential memory read preformance |
US9971647B2 (en) | 2014-07-31 | 2018-05-15 | Winbond Electronics Corporation | Apparatus and method for programming ECC-enabled NAND flash memory |
US9367392B2 (en) | 2014-08-01 | 2016-06-14 | Winbond Electronics Corporation | NAND flash memory having internal ECC processing and method of operation thereof |
US10509589B2 (en) | 2014-09-15 | 2019-12-17 | Adesto Technologies Corporation | Support for improved throughput in a memory device |
US9349469B2 (en) | 2014-10-02 | 2016-05-24 | Macronix International Co., Ltd. | Program verify with multiple sensing |
US9536601B2 (en) | 2014-11-05 | 2017-01-03 | Macronix International Co., Ltd. | Threshold voltage grouping of memory cells in same threshold voltage range |
JP6232109B1 (ja) * | 2016-09-27 | 2017-11-15 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置および連続読出し方法 |
TWI614755B (zh) | 2017-02-07 | 2018-02-11 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
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 |
US10977121B2 (en) | 2018-10-17 | 2021-04-13 | Macronix International Co., Ltd. | Fast page continuous read |
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 |
-
2020
- 2020-10-01 US US17/061,451 patent/US11249913B2/en active Active
- 2020-12-30 TW TW109146837A patent/TWI785448B/zh active
-
2021
- 2021-01-15 CN CN202110059141.0A patent/CN113360085B/zh active Active
-
2022
- 2022-01-19 US US17/579,428 patent/US11734181B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458662A (zh) * | 2007-12-14 | 2009-06-17 | 创惟科技股份有限公司 | 改进闪存存取效率的存储系统与方法 |
CN105900069A (zh) * | 2014-01-07 | 2016-08-24 | 苹果公司 | 对被存储在闪存存储器中的数据的推测性预取 |
CN104866432A (zh) * | 2014-02-24 | 2015-08-26 | 斯班逊有限公司 | 具有绕回-至-连续读取的存储器子系统 |
US20150242129A1 (en) * | 2014-02-24 | 2015-08-27 | Spansion Llc | Memory subsystem with wrapped-to-continuous read |
US20180039447A1 (en) * | 2016-08-02 | 2018-02-08 | SK Hynix Inc. | Memory system and operation method for the same |
US20180088867A1 (en) * | 2016-09-28 | 2018-03-29 | Winbond Electronics Corp. | Semiconductor memory device and continuous reading method for the same |
US20190196972A1 (en) * | 2017-12-21 | 2019-06-27 | Western Digital Technologies, Inc. | Managing flash memory read operations |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349203A (zh) * | 2023-10-23 | 2024-01-05 | 哈尔滨商业大学 | 一种控制数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11249913B2 (en) | 2022-02-15 |
CN113360085B (zh) | 2024-08-13 |
US20210279172A1 (en) | 2021-09-09 |
TW202145016A (zh) | 2021-12-01 |
TWI785448B (zh) | 2022-12-01 |
US20220138109A1 (en) | 2022-05-05 |
US11734181B2 (en) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113360085B (zh) | 存储器装置、用于操作其的方法以及自其读取档案的方法 | |
US5822251A (en) | Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers | |
KR100385370B1 (ko) | 개선된 메모리 시스템 장치 및 방법 | |
US11630786B2 (en) | Non-sequential page continuous read | |
CN111063379B (zh) | 存储器装置以及操作其以用于读取页面媒体流的方法 | |
US5864568A (en) | Semiconductor memory device for mass storage block access applications | |
CN107305781B (zh) | 存储器装置、存储器系统和控制存储器装置的方法 | |
US10957384B1 (en) | Page buffer structure and fast continuous read | |
US20050228962A1 (en) | Non-volatile storage device | |
EP2351036A1 (en) | A bridging device having a configurable virtual page size | |
JP7234144B2 (ja) | Nandバッファを有するnandフラッシュストレージデバイス | |
TWI226535B (en) | Sequential nibble burst ordering for data | |
TW201618096A (zh) | 記憶裝置中支援增進式流通量 | |
EP1486878B1 (en) | Semiconductor memory device and information processing unit | |
US7523283B2 (en) | Memory control circuit in a memory chip | |
TWI727449B (zh) | 非循序頁面連續讀取 | |
JPH076093A (ja) | 記憶制御装置 | |
JPH09288618A (ja) | 記憶装置及びそのメモリアクセス制御方法 |
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 |