CN101506778B - 闪存设备和方法 - Google Patents
闪存设备和方法 Download PDFInfo
- Publication number
- CN101506778B CN101506778B CN2006800426559A CN200680042655A CN101506778B CN 101506778 B CN101506778 B CN 101506778B CN 2006800426559 A CN2006800426559 A CN 2006800426559A CN 200680042655 A CN200680042655 A CN 200680042655A CN 101506778 B CN101506778 B CN 101506778B
- Authority
- CN
- China
- Prior art keywords
- page
- data
- flash memory
- address
- order
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种闪存设备,包括用于存储多个数据页面的存储器单元阵列,一个或多个用于获取数据页面的缓冲器,以及一逻辑机构,其响应于多个命令,在缓冲器和主机之间传输数据页面。第一命令之后的每个命令用于指示获取一个数据页面,该数据页面的地址在所述阵列内位于由前一个命令所获取的数据页面的地址之前,或者超过不止一个地址,至少一个命令没有明确规定其所获取的数据页面的地址。另一种类似的闪存设备使用了两个缓冲器来实现高速缓存读取数据页面,其中在第一个命令后面的命令中任意规定了数据页面的地址。
Description
技术领域
本发明涉及闪存设备领域。更具体地说,本发明涉及在闪存设备内使用高速缓存读取操作。
背景技术
闪存设备已经已知很多年了。现有技术中已知的标准闪存设备在存储器阵列中存储数据,成组排列,称为页面和/或模块。
现有技术中已知的NAND闪存设备的实例是MicronTechnologies公司的设备NO.MT29F2G08AABWP。该设备的数据页(下文缩写为DS)被合并在本文中用于说明的所有目的。
当闪存设备所连接的主机(例如闪存所连接的计算机、控制器或其他类似设备)和闪存设备交换数据时,通常在一次操作内,将一个完整的数据页面从称作页面缓冲器的内部缓冲器(或寄存器)写入存储器阵列内或同时把数据页面从存储器阵列中读出到页面缓冲器。
当主机发送一个请求以指示闪存设备读取一页数据时,该页数据从存储器阵列被传输到页面缓冲器。主机被允许发出一个请求,指示闪存设备仅当该页数据被完全读入页面缓冲器之后才启动一个新操作。
主机和闪存设备之间的数据交换所需时间包括主机缓冲器以及缓冲器存储器阵列之间的传输周期。随着现有闪存设备的数据页面大小的增加,主机缓冲器之间的传输时间也增加了,并变得可以和缓冲器存储器阵列传输时间相比较。
例如,在现有技术中已知的具有2K字节数据页面的NAND闪存设备中,主机缓冲器传输时间通常是每页50-100微秒,而缓冲器存储器阵列读取时间是每页20-50微秒,缓冲器存储器阵列页面编程(写)时间是每页200-800微秒。
因此,为了增加系统的整体吞吐量,一些闪存设备包括一个附加的数据缓冲器-高速缓存缓冲器-用于在主机和该高速缓存缓冲器之间以及在页面缓冲器和存储器阵列之间同时进行数据传输。
当闪存设备内采用了高速缓存缓冲器时,数据页面从存储器阵列被读入页面缓冲器,然后立即传输到高速缓存缓冲器,因此“释放”了页面缓冲器,用于从存储器阵列接收下一页数据。换句话说,即使在前一页数据完全从缓存缓冲器中读出之前,主机被允许向闪存设备发送一个请求,从存储器阵列中读取下一页数据。
因此,采用高速缓存缓冲器进行页面读取操作同时减小了传输延迟时间,增加了系统的整体吞吐量。
使用高速缓存缓冲器的读取操作被称作“高速缓存读取”或“用高速缓存读取”或“高速缓存模式页面读取”(完全取决于特定闪存设备经营商)。读取操作响应于由主机触发的特殊命令。
实际上,闪存设备用于读取被顺序写入闪存设备的大量数据。例如包括几千字节数据的文件系统簇,其总是由操作系统作为一个“块(chunk)”写入闪存设备和从中读出。其他实例包括信息,由多媒体源(例如视频、音频记录系统)进行“流”传输,或者数码相机所拍摄的图像。
在这些情况下,可能需要从闪存设备读取下一页数据,即存储在存储器阵列内的物理连续的数据页面。现有技术中已知的闪存设备假定使用高速缓存缓冲器进行页面读取操作。例如,如果当前读取操作从存储器阵列的地址N读取一页数据,随后接下来的高速缓存读取操作总是从存储器阵列的地址N+1获取一个数据页面。
但是,存在“下一个连续页面”不再有效的可能性。其中一种情况是一种应用程序,其中需要以“反向”顺序读取数据页面,即例如执行LIFO(后入先出)过程。在以下系统内可能需要执行该应用程序:该系统记录随着时间发生的不同类型的事件,并且有时可能需要查阅最近记录的特定类型的事件。在这样的系统内,使用最后记录(例如数据页面)的地址来快速读取“之前”的数据页面可能是非常有利的。
现有的用于高速缓存读取操作的闪存设备不能够解决所述需求。换句话说,现有技术中已知的包括一个高速缓存缓冲器的闪存设备不能够提供“反向”顺序(即页面地址是递减的)的数据页面读取。为了读取“前一个”数据页面,现有的方法简单地应用了“规则的”(不经过高速缓存的)页面读取操作,没有使用高速缓存缓冲器。
但是,与规则的高速缓存读取操作相比,应用“规则的”页面读取操作会降低系统的整体吞吐量。
发明内容
因此,本发明的一个主要目的是通过引入一种闪存设备克服现有技术中的缺陷,其被配置为允许对前一页数据进行高速缓存读取操作。本发明的闪存设备还被配置为允许对任意地址执行高速缓存读取操作。
逻辑机构响应于从主机接收到的命令,将数据页面从闪存设备传输到主机,或者从主机传输到闪存设备。逻辑机构响应两种不同的命令——“正常”缓存读取命令(即递增地址)以及“反向”缓存读取命令(即递减地址)。
根据本发明,提供了一种闪存设备,其包括:(a)用于存储多个数据页面的存储器单元阵列;(b)至少一个用于获取所述多个数据页面的缓冲器;以及(c)一逻辑机构,其响应于多个命令,将所述获取的多个数据页面传输到主机,其中第二命令和随后的命令中的每一个命令都指示闪存设备获取一个数据页面,该数据页面的地址位于所述阵列内由前一个命令获取的数据页面地址之前,并且其中所述多个命令的至少一个没有明确规定所获取的数据页面的地址。
根据本发明的第一闪存设备,应用了连续读取的数据页面的递减地址,而且没有明确规定数据页面的地址。第一闪存设备包括用于存储多个数据页面的存储器单元阵列,一个或多个获取数据页面的缓冲器,以及在缓冲器和主机之间传输由前一个命令所获取的数据页面的逻辑机构。
最后一个限定,即至少一个命令没有明确规定地址,以及本发明所述的其他方法和闪存设备的类似限定,将本发明与现有技术中明确规定了所有地址以及不能明确规定所有增量区分开来。
优选地,由所述第二命令和随后的命令所获取的数据页面的地址位于由前一个命令所获取的数据页面的地址之前的固定减量处。更优选的是,所述固定减量是-1。
优选地,所述第二命令和随后的命令包括一个相应的参数值,这个参数值规定了由该命令所获取的数据页面的地址位于由前一个命令所获取的数据页面的地址之前多远处。
优选地,闪存设备包括两个缓冲器,一个是页面缓冲器,另一个是高速缓存缓冲器,从而能够同时传输两个数据页面的数据,其中两个数据页面中的一个数据页面在所述存储器单元阵列和所述页面缓冲器之间传输,而另一个数据页面在所述高速缓存缓冲器和所述主机之间传输。
根据本发明,其还提供了一种从闪存设备中读取数据页面的方法,该方法包括如下步骤:(a)由主机发出第一命令,指示闪存设备获取第一数据页面;(b)由闪存设备的逻辑机构响应于所述第一命令获取所述第一数据页面;(c)由所述主机发出至少一个第二命令,指示闪存设备获取相应的数据页面,该页面的地址在响应于前一个命令所获取的数据页面的地址之前,所述至少一个第二命令没有明确规定所述相应数据页面的地址;以及(d)由所述逻辑机构响应于每个所述第二命令获取所述相应数据页面。
优选地,在由第一命令所获取的数据页面之后的每个所获取的数据页面的地址都直接位于闪存阵列内由前一个命令所获取的数据页面的地址之前。
优选地,每个第二命令包括一个相应的参数值,该参数值规定了由该命令所获取的数据页面的地址位于由前一个命令所获取的数据页面的地址之前多远处。
优选地,每个第二命令被实现为一个高速缓存读取命令。
根据本发明,其还提供了一种闪存设备,其包括:(a)用于存储多个数据页面的存储器单元阵列;(b)至少一个用于获取所述多个数据页面的缓冲器;以及(c)一逻辑机构,其响应于多个命令,将所获取的多个数据页面传输到主机,其中第二命令和随后的命令中的每一个命令都指示闪存设备获取一个数据页面,该数据页面的地址在所述阵列内超过由前一个命令所获取的数据页面的地址不止一个地址,并且所述至少一个随后的命令没有明确规定所获取的数据页面的地址。
优选地,所述第二命令和随后的命令包括一个相应的参数值,这个参数值规定了由该命令所获取的数据页面的地址位于由前一个命令所获取的数据页面的地址之前多远处。
优选地,闪存设备包括两个缓冲器,一个是页面缓冲器,另一个是高速缓存缓冲器,从而能够同时传输两个数据页面的数据,其中两个数据页面中的一个数据页面在所述存储器单元阵列和所述页面缓冲器之间传输,而另一个数据页面在所述高速缓存缓冲器和所述主机之间传输。
根据本发明,还提供了一种从闪存设备读取数据页面的方法,所述方法包括如下步骤:(a)由主机发出第一命令,指示闪存设备获取第一数据页面;(b)由闪存设备的逻辑机构响应于所述第一命令获取所述第一数据页面;(c)由所述主机发出至少一个第二命令,指示闪存设备获取相应的数据页面,该页面的地址超过由前一个命令所获取的数据页面的地址不止一个地址,其中至少一个第二命令中的至少一个没有明确规定所述相应数据页面的地址;以及(d)由所述逻辑机构响应于每个所述第二命令获取所述相应数据页面。
优选地,每个第二命令包括一个相应的参数值,这个参数值规定了由该命令所获取的数据页面的地址超过由前一个命令所获取的数据页面的地址多远。
优选地,所述每个第二命令被实现为一个高速缓存读取命令。
根据本发明,还提供了一种闪存设备,其包括:(a)用于存储多个数据页面的存储器单元阵列;(b)用于获取多个数据页面的两个缓冲器,其中一个缓冲器是页面缓冲器,而另一个缓冲器是高速缓存缓冲器,从而能够至少部分地同时传输两个数据页面的数据,其中两个数据页面中的一个数据页面在所述存储器单元阵列和所述页面缓冲器之间传输,而另一个数据页面在所述高速缓存缓冲器和所述主机之间传输;以及(c)一逻辑机构,其响应于多个命令,将所获取的多个数据页面中的至少两个传输到主机,其中所述传输是通过所述页面缓冲器和所述高速缓存缓冲器实现的,并且其中所述多个命令中的第二命令和随后的命令中的每个命令指示闪存设备从任意指定的地址获取一个数据页面。
优选地,每个第二命令和随后的命令包括一个相应的参数值,这个参数值规定了由该命令所获取的相应数据页面的地址与由前一个命令所获取的数据页面的地址相差多少。
优选地,所述任意地址是明确规定的。
根据本发明,还提供了一种从闪存设备读取数据页面的方法,所述方法包括如下步骤:(a)由主机发出第一命令,指示闪存设备获取第一数据页面;(b)由闪存设备的逻辑机构响应于所述第一命令获取所述第一数据页面;(c)由所述主机发出至少一个高速缓存读取命令,指示闪存设备从任意规定的地址处获取相应的数据页面;以及(d)所述逻辑机构响应于每个所述第二命令获取所述相应数据页面。
优选地,每个高速缓存读取命令包括一个相应的参数值,该参数值规定了由该命令所获取的相应数据页面的地址与由前一个命令所获取的数据页面的地址相差多少。
优选地,所述高速缓存读取命令明确规定了由该命令所获取的相应数据页面的地址。
根据本发明,还提供了一种闪存设备,其包括:(a)用于存储多个数据页面的存储器单元阵列;(b)一页面缓冲器;(c)一高速缓存缓冲器;以及(d)一逻辑机构,其响应于多个命令至少部分地同时在所述存储器单元阵列和所述页面缓冲器之间传输所述多个数据页面中的一个数据页面,并在所述高速缓存缓冲器和所述主机之间传输所述多个数据页面中的另一个数据页面,其中,在所述存储器阵列和所述页面缓冲器之间传输的数据页面的地址在所述阵列内位于在所述高速缓存缓冲器和所述主机之间传输的数据页面的地址之前。
优选地,在所述存储器阵列和所述页面缓冲器之间传输的数据页面的地址在所述阵列内位于在所述高速缓存缓冲器和所述主机之间传输的数据页面的地址之前的固定减量处。更优选的是,所述固定减量是-1。
根据本发明,还提供了一种方法,该方法包括如下步骤:(a)由主机发出第一命令,指示闪存设备获取第一数据页面;(b)由主机发出第二命令,指示闪存设备获取第二数据页面;(c)响应于所述第一和第二命令,至少部分地基本同时地从存储器单元阵列把第二数据页面获取到页面缓冲器,并从高速缓存缓冲器把第一数据页面获取到主机,其中所述第二数据页面的地址在所述阵列内位于第一数据页面的地址之前。
优选地,所述第二数据页面的地址在所述阵列内直接位于所述第一数据页面的地址之前。
根据本发明,还提供了一种闪存设备,其包括:(a)用于存储多个数据页面的存储器单元阵列;(b)一页面缓冲器;(c)一高速缓存缓冲器;(d)一逻辑机构,其响应于多个命令,至少部分地同时在所述存储器单元阵列和所述页面缓冲器之间传输所述多个数据页面中的一个数据页面传输,并在所述高速缓存缓冲器和所述主机之间传输所述多个数据页面中的另一个数据页面,其中在所述存储器阵列和所述页面缓冲器之间传输的数据页面在所述阵列内的地址超过在所述高速缓存缓冲器和所述主机之间传输的数据页面的地址不止一个地址。
根据本发明,还提供了一种方法,该方法包括如下步骤:(a)由主机发出第一命令,指示闪存设备接收第一数据页面;(b)由主机发出第二命令,指示闪存设备接收第二数据页面;(c)响应于所述第一和第二命令,至少部分地基本同时地从存储器单元阵列把第二数据页面获取到页面缓冲器,并从高速缓存缓冲器把第一数据页面获取到主机,其中所述第二数据页面在所述阵列内的地址超过第一数据页面的地址不止一个地址。
本发明的其他特征和优点通过下列附图和说明将更加清楚。
附图说明
为了通过实施例更好地理解本发明,可以参照附图,其中全文中相同的附图标记表示相应的部分或元件,并且其中:
图1是本发明的闪存设备的框图;以及
图2是本发明的方法的时序图,阐释了主机和闪存设备之间用于读取之前的数据页面所应用的过程。
具体实施方式
本发明是一种闪存设备和被配置为允许在一个模块内对前一个数据页面和下一个数据页面进行高速缓存读取操作的方法。该配置例如用在记录随时间发生的不同类型的事件并且有时可能需要快速回查并读取特定类型的最近记录事件的系统中。
现有方法解决所述需求时应用了规则的(不经过高速缓存的)页面读取操作。因此,与现有技术的规则读取命令不同——本发明的闪存设备配置解决了以任意顺序读取数据页面的需求,同时利用了高速缓存缓冲器的优点。
本发明的闪存设备包括用于存储数据页面的存储器单元的存储器阵列。闪存设备所连接的主机设备借助于输入/输出(I/O)接口单元通过数据信号传输数据页面。
本发明的闪存设备包括两个缓冲器——一个页面缓冲器和一个高速缓存缓冲器。一个完整的数据页面从页面缓冲器被写入到存储器阵列,或者从存储器阵列读出到页面缓冲器,其中提供了高速缓存缓冲器,用于在主机设备和高速缓存缓冲器之间以及在页面缓冲器和存储器阵列之间同时进行数据传输。同时数据传输增加了闪存设备的整体吞吐量。
逻辑机构响应从主机接收到的高速缓存读取命令,将数据页面从闪存设备传输到主机,或者从主机传输到闪存设备。高速缓存读取命令在本文中被定义为指示闪存设备同时使用页面缓冲器和高速缓存缓冲器的命令。逻辑机构响应两种不同的命令——“正常”高速缓存读取命令(即表示递增地址的正向增加)以及“反向”高速缓存读取命令(即表示递减地址的反向增加)。
因此,一旦从主机接收到“以高速缓存读取”命令,最后一个所获取的数据页面的地址被递减或者被递增,被用于随后的读取操作。该方法增加了设计的灵活性,同时保持了最大吞吐量。
本文中示例性的命令代码和序列参照了根据本发明的原理调整的Micron Technology公司的设备No.MT29F2G08AABWP的方式。但是,本领域技术人员应清楚本发明的原理可以一般地应用于类似的命令代码和序列来调整本领域内任何闪存设备。
“反向”高速缓存读取命令的操作方式遵循了现有技术中已知的“正常”高速缓存读取命令的操作方式,区别仅在于当“正常”高速缓存读取命令操作逻辑机构以递增要从存储器阵列中获取的数据页面的地址时,“反向”高速缓存读取命令操作逻辑机构将该地址递减。除此之外,这两种高速缓存读取命令的实现(包括就绪/忙信号以及规则读取命令的命令代码0×30和获取最后所需的数据页面的命令代码0×3F)是基于相同的逻辑。
提供两个“正常”和“反向”高速缓存读取命令的一种方式是使用相似的命令代码——例如0×32读取命令代码,因此生成了一对高速缓存读取命令,如下:0×31命令代码表示“正常”高速缓存读取命令,0×32命令代码表示“反向”高速缓存读取命令。生成这样一对高速缓存读取命令不是对于生产商特定的,其也可以被用于调整现有技术中已知的任何闪存设备的高速缓存读取命令集。
参看图1,其示出了本发明的闪存设备10的框图。闪存设备10包括用于存储数据页面的存储单元C1到Cn所组成的存储器阵列12。闪存设备10所连接的主机18借助于输入/输出(I/O)接口单元28通过数据信号22传输数据页面。
一个完整的数据页面从页面缓冲器14被写入到存储器阵列12,或者从存储器阵列12读出到页面缓冲器14。闪存设备10包括一个附加的数据缓冲器——高速缓存缓冲器16,用于在主机18和高速缓存缓冲器16之间以及在页面缓冲器14和存储器阵列12之间同时进行数据传输。
提供了逻辑机构20,用于将数据页面从闪存设备10传输到主机18,或者从主机18传输到闪存设备10。逻辑机构20响应于通过控制信号24和数据信号22从主机18接收的“正常”和“反向”缓存读取命令。
状态信息可选地从连接到逻辑机构20的存储状态寄存器27提供给主机18,通知主机18页面“N”已经可以被主机18读取。状态信息从存储状态寄存器27通过输入/输出(I/O)接口单元28传输到主机设备20。
现在参看图2,其示出了本发明的方法的时序图30,阐释了主机18和闪存设备10之间为读取之前的数据页面所交换的信号。
一旦从闪存设备10接收到通知主机18可以读取闪存设备10的“就绪”信号32,主机18向闪存设备10发送一个规则读取命令34(例如命令代码0×30)和五个地址周期,要求闪存设备10获取存储在地址“N”处的数据页面(本文称为页面“N”),并等待读取完成。
一旦从主机18接收到规则读取命令34,闪存设备10从存储器阵列把数据页面“N”获取到页面缓冲器(步骤36)(一般持续30微秒)。
当数据页面“N”从存储器阵列完全获取到页面缓冲器之后,闪存设备10发送第二“就绪”信号38,通知主机18页面“N”可以被主机12读取。作为替代,主机18轮询闪存设备10内的存储状态寄存器27,通知主机18页面“N”可以被主机18读取。
此时,主机18向闪存设备10发送下一个命令——“反向”高速缓存读取命令40(例如命令代码0×32),要求闪存设备10从闪存设备10中获取前一个数据页面(页面“N-1”),而不是从页面缓冲器读取页面“N”。
这个“反向”高速缓存读取命令40触发闪存设备10,把页面“N”的内容(存储最近从存储器阵列读取的数据页面)从页面缓冲器传输到高速缓存缓冲器(步骤42)。该步骤一般持续1.5微秒。
当页面“N”被完全从页面缓冲器传输到缓存缓冲器之后,数据页面地址递减1(即数据页面地址变为N-1),闪存设备10发送第三个“就绪”信号44,通知主机18页面“N”可以被主机18读取。此时,闪存设备10在发送第三个“就绪”信号44的同时,从存储器阵列中把前一个数据页面(页面“N-1”)获取到页面缓冲器中(步骤46)。
一旦从闪存设备接收到第三个“就绪”信号44,主机18从缓存缓冲器读取页面“N”(步骤48)。该读取操作在从存储器阵列把页面“N-1”获取到页面缓冲器的同时由主机18执行(步骤46)。
当主机18从高速缓存缓冲器完全读取页面“N”之后,主机18发送第二“反向”读取命令50,要求闪存设备10从闪存设备10获取前一个数据页面(页面“N-2”)。
第二“反向”高速缓存读取命令触发闪存设备10,只有在从存储器阵列把页面“N-1”传输到页面缓冲器结束之后才把页面“N-1”的内容从页面缓冲器传输到高速缓存缓冲器(步骤52)。
当页面“N-1”被完全从页面缓冲器传输到高速缓存缓冲器之后,数据页面地址递减1(即数据页面地址变为N-2),闪存设备10发送第四个“就绪”信号54,通知主机18页面“N-1”可以被主机18读取。此时,闪存设备10在发送第四个“就绪”信号54的同时,从存储器阵列中把前一个数据页面(页面“N-2”)获取到页面缓冲器中(步骤56)。
一旦从闪存设备10接收到第四个“就绪”信号54,主机18从高速缓存缓冲器读取页面“N-1”。该读取操作在从存储器阵列把页面“N-2”获取到页面缓冲器的同时由主机18执行(步骤56)。
为了结束“反向”缓存读取操作的序列,主机18向闪存设备10发送一个高速缓存读取结束命令60(例如,命令代码0×3F),从闪存设备10读取最后一个所需的数据页面(例如页面“N-M”,其中M>2)。
高速缓存读取结束命令60触发闪存设备10把页面“N-M”的内容从页面缓冲器传输到高速缓存缓冲器(步骤62)。
当页面“N-M”被完全从页面缓冲器传输到高速缓存缓冲器之后,闪存设备10发送最后一个“就绪”信号64,通知主机18页面“N-M”可以被主机18读取。
在最后阶段,一旦从闪存设备接收到最后一个“就绪”信号64,主机18从高速缓存缓冲器读取最后一个页面“N-M”(步骤68)。
根据本发明的第二实施例,本发明的闪存设备同时使用页面缓冲器和高速缓存缓冲器,响应从主机接收的高速缓存读取命令进行操作,该命令规定了在连续读取的数据页面之间的任意地址增量(例如任何非零整数)。这样,逻辑机构响应任何高速缓存读取命令,指示闪存设备从任意地址增量获取数据页面,而不仅仅是像现有技术中那样固定为+1的增量,也不仅仅是如本发明第一实施例中那样固定为-1的增量。
注意,任意增量所指向的地址必须在存储器阵列大小的限制内。注意,负的地址“增量”在本文中被定义为地址减量。
因此,例如向闪存发送地址增量为+5,指示闪存返回地址“N”、“N+5”、“N+10”等处存储的页面,直到高速缓存读取结束;向闪存发送地址增量为-5,指示闪存返回地址“N”、“N-5”、“N-10”等处存储的页面,直到高速缓存读取结束。
优选地,该任意地址增量由主机设定,并作为参数命令发送给闪存设备。这个参数命令与接下来所有的高速缓存读取操作相关,直到该命令被撤销。
这可以通过例如最初向闪存设备发送一个命令代码0×AA来实现,该命令规定了闪存设备的任意地址增量的数值(例如“5”),使得此接下来的高速缓存读取命令(“反向”或者“正常”)均与该数值相关。在“反向”高速缓存读取命令的情况下,通过命令代码0×AA获得的数值表示递减数值(“-5”)。在“正常”高速缓存读取命令的情况下,这个数值表示递增数值(“+5”)。只要从主机接收到的连续的高速缓存读取命令伴随有地址增量命令,该过程就持续执行(或者直到发出了高速缓存读取结束命令为止)。
作为替代,从主机接收到的每个高速缓存读取命令伴随有一个相应的设置参数命令,其规定了该高速缓存读取命令的地址增量。这种情况例如可以通过在每个高速缓存读取命令之后向闪存设备发送一个相应的命令代码0×AA来实现。
作为替代,从主机接收到的伴随每个高速缓存读取命令的相应参数表示一个明确规定的数据页面地址,而不是地址增量。由于在第一读取命令之后的所有读取命令都作为高速缓存读取命令来执行,第二实施例的这个替代实施方式与现有技术中规定了明确地址的无高速缓存读取命令不同。
因此,与现有技术的规则读取命令不同——本发明的闪存设备的配置满足了以任意顺序读取数据页面的需求,同时利用了高速缓存缓冲器的优点。
需要注意的是,本发明与NAND闪存设备相关。但是,可以理解其他实施方式也在本发明的范围之内,因此可以应用于响应从主机接收到的高速缓存读取命令操作的任何设备和方法。
所述通过特定的实施例描述了本发明,应该理解该说明并不意味着限制,因为进一步的修正对于本领域技术人员是可以理解的,其试图覆盖落入所附权利要求书的范围内的这类修正。
Claims (18)
1.一种从闪存读取数据页面的闪存器件,该闪存被包括在该闪存器件中,所述闪存器件包括:
从闪存的主机接收第一命令的装置,所述第一命令指示闪存设备获取第一数据页面;
通过闪存的逻辑机构响应于所述第一命令获取所述第一数据页面的装置;
从所述主机接收一个或多个第二命令的装置,所述一个或多个第二命令中的每个指示闪存获取相应的第二数据页面,该第二数据页面具有在响应于前一个命令所获取的数据页面的地址之前的对应地址,所述一个或多个第二命令中的至少一个没有对所述相应的第二数据页面的所述对应地址的明确规定;以及
通过所述逻辑机构响应于所述一个或多个第二命令中的每个获取所述相应的第二数据页面的装置。
2.如权利要求1所述的闪存器件,其中每个所获取的第二数据页面的对应地址在闪存内都直接位于响应于所述前一个命令而获取的数据页面的地址之前。
3.如权利要求1所述的闪存器件,其中一个或多个第二命令中的每个包括一个相应的参数值,该参数值规定了响应于对应的第二命令而获取的相应的第二数据页面的对应地址位于响应于在所述前一个命令而获取的数据页面的地址之前多远处。
4.如权利要求1所述的闪存器件,其中所述一个或多个第二命令中的每个被实现为一个相应的高速缓存读取命令。
5.根据权利要求1所述的闪存器件,其中,所述第一命令指示所述闪存仅获取第一数据页面,且其中,所述一个或多个第二命令的每个指示所述闪存仅获取相应的第二数据页面。
6.一种从闪存读取数据页面的方法,所述方法包括:
从闪存的主机接收第一命令,指示闪存设备获取第一数据页面;
由闪存的逻辑机构响应于所述第一命令获取所述第一数据页面;
从所述主机接收一个或多个第二命令,指示闪存获取相应的第二数据页面,该页面的地址在响应于前一个命令所获取的数据页面的地址之前,所述一个或多个第二命令中的至少一个没有对所述相应的第二数据页面的所述地址的明确规定;以及
由所述逻辑机构响应于每个所述一个或多个第二命令获取所述相应的第二数据页面。
7.如权利要求6所述的方法,其中在所述第一数据页面之后的每个所获取的数据页面的地址在闪存内都直接位于响应于所述前一个命令而获取的数据页面的地址之前。
8.如权利要求6所述的方法,其中一个或多个第二命令中的每个包括一个相应的参数值,该参数值规定了响应于一个或多个第二命令的每个而获取的相应的第二数据页面的地址位于响应于在所述一个或多个第二命令的每个之前的前一个命令而获取的数据页面的地址之前多远处。
9.如权利要求6所述的方法,其中所述一个或多个第二命令中的每个被实现为一个高速缓存读取命令。
10.根据权利要求6所述的方法,其中,所述第一命令指示所述闪存仅获取第一数据页面,且其中,所述一个或多个第二命令的每个指示所述闪存仅获取相应的第二数据页面。
11.一种从闪存读取数据页面的闪存器件,该闪存被包括在该闪存器件中,所述闪存器件包括:
从所述闪存的主机接收第一命令的装置,所述第一命令指示闪存获取第一数据页面;
通过闪存的逻辑机构响应于所述第一命令获取所述第一数据页面的装置;
从所述主机接收一个或多个第二命令的装置,所述一个或多个第二命令中的每个指示闪存获取相应的第二数据页面,该第二数据页面具有超过响应于前一个命令所获取的数据页面的地址多于1的对应地址,其中所述一个或多个第二命令中的至少一个没有对相应的第二数据页面的对应地址的明确规定;以及
由所述逻辑机构响应于所述一个或多个第二命令中的每个而获取所述相应的第二数据页面的装置。
12.如权利要求11所述的闪存器件,其中所述一个或多个第二命令的每个包括一个相应的参数值,该参数值规定了响应于对应的第二命令而获取的相应的第二数据页面的对应地址超过在所述前一个命令而获取的数据页面的地址多远处。
13.如机利要求11所述的闪存器件,其中所述一个或多个第二命令的每个被实现为一个相应的高速缓存读取命令。
14.根据权利要求11所述的闪存器件,其中,所述第一命令指示所述闪存仅获取第一数据页面,且其中,所述一个或多个第二命令的每个指示所述闪存仅获取相应的第二数据页面。
15.一种从闪存读取数据页面的方法,所述方法包括如下步骤:
从所述闪存的主机接收第一命令,指示闪存获取第一数据页面;
由闪存的逻辑机构响应于所述第一命令获取所述第一数据页面;
从所述主机接收一个或多个第二命令,指示闪存获取相应的第二数据页面,该第二数据页面的地址超过响应于前一个命令所获取的数据页面的地址多于1,其中所述一个或多个第二命令中的至少一个没有对相应的第二数据页面的地址的明确规定;以及
由所述逻辑机构响应于所述一个或多个第二命令中的每个而获取所述相应的第二数据页面。
16.如权利要求15所述的方法,其中所述一个或多个第二命令的每个包括一个相应的参数值,该参数值规定了响应于所述一个或多个第二命令的每个而获取的相应的第二数据页面的地址超过在所述一个或多个第二命令的每个之前的前一个命令而获取的数据页面的地址多远处。
17.如机利要求15所述的方法,其中所述一个或多个第二命令的每个被实现为一个高速缓存读取命令。
18.根据权利要求15所述的方法,其中,所述第一命令指示所述闪存仅获取第一数据页面,且其中,所述一个或多个第二命令的每个指示所述闪存仅获取相应的第二数据页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310043248.1A CN103236270B (zh) | 2005-11-15 | 2006-11-13 | 闪存设备和方法 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US73645905P | 2005-11-15 | 2005-11-15 | |
US60/736,459 | 2005-11-15 | ||
US11/450,443 US7644224B2 (en) | 2005-11-15 | 2006-06-12 | Flash memory device and method |
US11/450,443 | 2006-06-12 | ||
PCT/IL2006/001306 WO2007057886A2 (en) | 2005-11-15 | 2006-11-13 | Flash memory device and method |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310043248.1A Division CN103236270B (zh) | 2005-11-15 | 2006-11-13 | 闪存设备和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101506778A CN101506778A (zh) | 2009-08-12 |
CN101506778B true CN101506778B (zh) | 2013-03-20 |
Family
ID=38042276
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310043248.1A Active CN103236270B (zh) | 2005-11-15 | 2006-11-13 | 闪存设备和方法 |
CN2006800426559A Active CN101506778B (zh) | 2005-11-15 | 2006-11-13 | 闪存设备和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310043248.1A Active CN103236270B (zh) | 2005-11-15 | 2006-11-13 | 闪存设备和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7644224B2 (zh) |
EP (1) | EP1949239A2 (zh) |
JP (1) | JP5274257B2 (zh) |
KR (1) | KR100971405B1 (zh) |
CN (2) | CN103236270B (zh) |
WO (1) | WO2007057886A2 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080320209A1 (en) * | 2000-01-06 | 2008-12-25 | Super Talent Electronics, Inc. | High Performance and Endurance Non-volatile Memory Based Storage Systems |
US20090282185A1 (en) * | 2006-06-30 | 2009-11-12 | Nxp B.V. | Flash memory device and a method for using the same |
JP5124237B2 (ja) * | 2007-11-02 | 2013-01-23 | 株式会社日立製作所 | ストレージシステムおよびストレージサブシステム |
US8397024B2 (en) * | 2008-10-25 | 2013-03-12 | Sandisk 3D Llc | Page buffer program command and methods to reprogram pages without re-inputting data to a memory device |
US8103822B2 (en) * | 2009-04-26 | 2012-01-24 | Sandisk Il Ltd. | Method and apparatus for implementing a caching policy for non-volatile memory |
US8180981B2 (en) | 2009-05-15 | 2012-05-15 | Oracle America, Inc. | Cache coherent support for flash in a memory hierarchy |
TWI435215B (zh) * | 2009-08-26 | 2014-04-21 | Phison Electronics Corp | 下達讀取指令與資料讀取方法、控制器與儲存系統 |
KR101792868B1 (ko) | 2010-11-25 | 2017-11-02 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 읽기 방법 |
JP2012133416A (ja) * | 2010-12-17 | 2012-07-12 | Toshiba Corp | メモリシステム |
CN102156731B (zh) * | 2011-04-08 | 2013-06-05 | 传聚互动(北京)科技有限公司 | 闪存的数据存储方法和装置 |
KR102025088B1 (ko) | 2012-09-03 | 2019-09-25 | 삼성전자 주식회사 | 메모리 컨트롤러 및 상기 메모리 컨트롤러를 포함하는 전자장치 |
US9690515B2 (en) | 2013-10-25 | 2017-06-27 | Sandisk Technologies Llc | Delayed automation to maximize the utilization of read and write cache |
TWI556249B (zh) * | 2014-11-07 | 2016-11-01 | 群聯電子股份有限公司 | 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元 |
EP3221792A1 (en) * | 2014-11-18 | 2017-09-27 | Tactual Labs Co. | System and method for inter-module communication |
US9632715B2 (en) | 2015-08-10 | 2017-04-25 | International Business Machines Corporation | Back-up and restoration of data between volatile and flash memory |
US9990300B2 (en) * | 2016-04-28 | 2018-06-05 | Everspin Technologies, Inc. | Delayed write-back in memory |
US10585624B2 (en) * | 2016-12-01 | 2020-03-10 | Micron Technology, Inc. | Memory protocol |
CN108538332B (zh) * | 2017-03-06 | 2020-10-16 | 旺宏电子股份有限公司 | 与非门闪存的读取方法 |
US10459844B2 (en) * | 2017-12-21 | 2019-10-29 | Western Digital Technologies, Inc. | Managing flash memory read operations |
KR102452512B1 (ko) * | 2018-02-26 | 2022-10-11 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
KR102576849B1 (ko) * | 2018-07-13 | 2023-09-14 | 에스케이하이닉스 주식회사 | 메모리 장치 |
US11048649B2 (en) * | 2018-10-17 | 2021-06-29 | Macronix International Co., Ltd. | Non-sequential page continuous read |
CN110291586B (zh) * | 2019-05-17 | 2020-10-30 | 长江存储科技有限责任公司 | 具有静态随机存取存储器的三维存储器件的高速缓存程序操作 |
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 |
KR20210157793A (ko) * | 2020-06-22 | 2021-12-29 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그 동작 방법 |
WO2022094901A1 (en) | 2020-11-06 | 2022-05-12 | Yangtze Memory Technologies Co., Ltd. | Pseudo asynchronous multi-plane independent read |
CN113515232B (zh) * | 2021-04-26 | 2023-08-29 | 深圳忆联信息系统有限公司 | 提升ssd低命令深度读性能方法、装置、计算机设备及存储介质 |
KR20230132139A (ko) * | 2022-03-08 | 2023-09-15 | 에스케이하이닉스 주식회사 | 리드동작을 효과적으로 수행하기 위한 메모리 장치 및 메모리 장치의 동작방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1366633A (zh) * | 2000-03-31 | 2002-08-28 | 松下电器产业株式会社 | 盘式存储装置、数据预读方法以及记录媒体 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01269139A (ja) * | 1988-04-20 | 1989-10-26 | Sharp Corp | ランダムアクセスメモリ |
US5765200A (en) * | 1995-06-07 | 1998-06-09 | International Business Machines Corporation | Logical positioning within a storage device by a storage controller |
JPH0922331A (ja) * | 1995-07-06 | 1997-01-21 | Canon Inc | 情報記録再生方法 |
JPH11110139A (ja) * | 1997-09-26 | 1999-04-23 | Internatl Business Mach Corp <Ibm> | データ読み取り方法及びデータ読み取り装置 |
JP2001060169A (ja) * | 1999-08-24 | 2001-03-06 | Hitachi Ltd | キャッシュコントローラ及びコンピュータシステム |
US6907497B2 (en) * | 2001-12-20 | 2005-06-14 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
JP2003233497A (ja) * | 2002-02-06 | 2003-08-22 | Matsushita Electric Ind Co Ltd | アドレス変換装置 |
KR100516301B1 (ko) * | 2003-03-05 | 2005-09-21 | 주식회사 하이닉스반도체 | 플래시 메모리의 뱅크 분할 장치 |
US7076598B2 (en) * | 2003-09-09 | 2006-07-11 | Solid State System Co., Ltd. | Pipeline accessing method to a large block memory |
-
2006
- 2006-06-12 US US11/450,443 patent/US7644224B2/en active Active
- 2006-11-13 CN CN201310043248.1A patent/CN103236270B/zh active Active
- 2006-11-13 CN CN2006800426559A patent/CN101506778B/zh active Active
- 2006-11-13 JP JP2008539612A patent/JP5274257B2/ja not_active Expired - Fee Related
- 2006-11-13 WO PCT/IL2006/001306 patent/WO2007057886A2/en active Application Filing
- 2006-11-13 EP EP06809863A patent/EP1949239A2/en not_active Withdrawn
- 2006-11-13 KR KR1020087014261A patent/KR100971405B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1366633A (zh) * | 2000-03-31 | 2002-08-28 | 松下电器产业株式会社 | 盘式存储装置、数据预读方法以及记录媒体 |
Non-Patent Citations (2)
Title |
---|
US 5,765,200 A,1998.06.09,全文. |
US 6,055,602 A,2000.04.25,全文. |
Also Published As
Publication number | Publication date |
---|---|
US7644224B2 (en) | 2010-01-05 |
EP1949239A2 (en) | 2008-07-30 |
CN103236270B (zh) | 2016-02-03 |
KR20080072050A (ko) | 2008-08-05 |
WO2007057886A2 (en) | 2007-05-24 |
JP2010509649A (ja) | 2010-03-25 |
CN101506778A (zh) | 2009-08-12 |
WO2007057886A3 (en) | 2009-04-09 |
CN103236270A (zh) | 2013-08-07 |
KR100971405B1 (ko) | 2010-07-21 |
US20070113000A1 (en) | 2007-05-17 |
JP5274257B2 (ja) | 2013-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101506778B (zh) | 闪存设备和方法 | |
US20060129750A1 (en) | Method and apparatus for storing multimedia data in nonvolatile storage device in units of blocks | |
US20050055493A1 (en) | [method for accessing large block flash memory] | |
US10095436B2 (en) | Cache memory device and data processing method of the device | |
US7519764B2 (en) | Apparatus and method for detecting data validity in flash memory | |
US11209999B2 (en) | Memory controller and method capable of using different storing modes to store data units having different data sizes | |
US20110029741A1 (en) | Data management method and memory deivce | |
US11550508B2 (en) | Semiconductor storage device and control method thereof | |
US20060282634A1 (en) | Drive device and related computer program | |
US20060143313A1 (en) | Method for accessing a storage device | |
US20030172203A1 (en) | Automated transfer of a data unit comprising a plurality of fundamental data units between a host device and a storage medium | |
US8447922B2 (en) | Memory controller, nonvolatile storage device, accessing device, and nonvolatile storage system | |
US20200073595A1 (en) | Flash memory controller capable of improving IOPS performance and corresponding method | |
US20220405215A1 (en) | Method for accessing flash memory and flash memory controller and electronic device thereof | |
US7421459B2 (en) | Buffer management for data transfers between a host device and a storage medium | |
JP2013178787A (ja) | フラッシュメモリ・デバイスおよび方法 | |
US20030028748A1 (en) | Circuit for recording digital waveform data and method of doing the same | |
US20030172207A1 (en) | Automated multiple data unit transfers between a host device and a storage medium | |
JP5471311B2 (ja) | 記録装置 | |
JP2923892B1 (ja) | Atmセル挿入方式および方法 | |
JP2533958B2 (ja) | デ―タ先行セット装置 | |
CN117931080A (zh) | 一种固态存储器及其分类存储和检索回放方法 | |
JPS62123870A (ja) | フアクシミリ装置の蓄積デ−タ管理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Israel Kfar Saba Patentee after: Western data Israel Limited Address before: Israel saaba Patentee before: SanDisk IL Ltd. |
|
CP03 | Change of name, title or address |