CN1700188A - 用于控制非易失性存储器的控制器 - Google Patents
用于控制非易失性存储器的控制器 Download PDFInfo
- Publication number
- CN1700188A CN1700188A CNA200510071727XA CN200510071727A CN1700188A CN 1700188 A CN1700188 A CN 1700188A CN A200510071727X A CNA200510071727X A CN A200510071727XA CN 200510071727 A CN200510071727 A CN 200510071727A CN 1700188 A CN1700188 A CN 1700188A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- ram
- nand flash
- memory
- data
- 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
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/0893—Caches characterised by their organisation or structure
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F03—MACHINES OR ENGINES FOR LIQUIDS; WIND, SPRING, OR WEIGHT MOTORS; PRODUCING MECHANICAL POWER OR A REACTIVE PROPULSIVE THRUST, NOT OTHERWISE PROVIDED FOR
- F03B—MACHINES OR ENGINES FOR LIQUIDS
- F03B3/00—Machines or engines of reaction type; Parts or details peculiar thereto
- F03B3/12—Blades; Blade-carrying rotors
- F03B3/14—Rotors having adjustable blades
- F03B3/145—Mechanisms for adjusting the blades
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F03—MACHINES OR ENGINES FOR LIQUIDS; WIND, SPRING, OR WEIGHT MOTORS; PRODUCING MECHANICAL POWER OR A REACTIVE PROPULSIVE THRUST, NOT OTHERWISE PROVIDED FOR
- F03B—MACHINES OR ENGINES FOR LIQUIDS
- F03B13/00—Adaptations of machines or engines for special use; Combinations of machines or engines with driving or driven apparatus; Power stations or aggregates
- F03B13/12—Adaptations of machines or engines for special use; Combinations of machines or engines with driving or driven apparatus; Power stations or aggregates characterised by using wave or tide energy
- F03B13/26—Adaptations of machines or engines for special use; Combinations of machines or engines with driving or driven apparatus; Power stations or aggregates characterised by using wave or tide energy using tide energy
- F03B13/264—Adaptations of machines or engines for special use; Combinations of machines or engines with driving or driven apparatus; Power stations or aggregates characterised by using wave or tide energy using tide energy using the horizontal flow of water resulting from tide movement
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F05—INDEXING SCHEMES RELATING TO ENGINES OR PUMPS IN VARIOUS SUBCLASSES OF CLASSES F01-F04
- F05B—INDEXING SCHEME RELATING TO WIND, SPRING, WEIGHT, INERTIA OR LIKE MOTORS, TO MACHINES OR ENGINES FOR LIQUIDS COVERED BY SUBCLASSES F03B, F03D AND F03G
- F05B2220/00—Application
- F05B2220/30—Application in turbines
- F05B2220/32—Application in turbines in water turbines
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F05—INDEXING SCHEMES RELATING TO ENGINES OR PUMPS IN VARIOUS SUBCLASSES OF CLASSES F01-F04
- F05B—INDEXING SCHEME RELATING TO WIND, SPRING, WEIGHT, INERTIA OR LIKE MOTORS, TO MACHINES OR ENGINES FOR LIQUIDS COVERED BY SUBCLASSES F03B, F03D AND F03G
- F05B2220/00—Application
- F05B2220/70—Application in combination with
- F05B2220/706—Application in combination with an electrical generator
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E10/00—Energy generation through renewable energy sources
- Y02E10/20—Hydro energy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- General Physics & Mathematics (AREA)
- Oceanography (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Life Sciences & Earth Sciences (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Read Only Memory (AREA)
Abstract
提供了存储器控制器,其连接到非易失性存储器(例如,NAND快闪存储器)和易失性存储器(例如,DRAM或SDRAM),其中该存储器控制器响应存储器请求而控制对非易失性存储器和易失性存储器的访问,并包括用于存储易失性存储器中存储的数据的地址信息的存储器,并且其中该存储器控制器确定在存储器请求中输入的地址信息与存储器的地址信息是否一致,并根据确定结果有选择地访问非易失性存储器。
Description
相关申请交叉引用
本美国非临时专利申请根据35U.S.C§119,要求于2004年2月16提交的韩国专利申请2004-10144的外国优先权,通过引用将其全部内容合并于此。
技术领域
本发明公开的内容涉及信息处理系统,更具体地,涉及包括有非易失性存储器的存储系统。
背景技术
随着移动系统及其各种应用的迅猛发展,快闪存储器(一种非易失性存储器)和控制该快闪存储器的存储器系统的需求激增。虽然快闪存储器能够存储大量的数据信息,但其有读取及写入数据所需的时间较长的缺点。
快闪存储器的这一缺点可以通过缓冲存储器来解决。例如,从主机来的数据并不直接存储在快闪存储器中,而是首先存储在缓冲存储器中。接着,读取缓冲存储器中存储的数据,并将所读出的数据存储在快闪存储器中。类似地,从快闪存储器读出的数据并不直接传输给主机,而是首先传输给缓冲存储器。接着,读取缓冲存储器中存储的数据,并将所读出的数据传输给主机。这种传输方法可以提高存储系统以及包括该存储系统的信息处理系统(例如,移动应用)的性能。
但是,这样的存储系统具有以下的问题。在引导装入时,存储在快闪存储器中的数据必须复制到缓冲存储器中,因此存储器使用不充分。此外,应当应用附加模式(例如,请求页面调度模式)来将快闪存储器中的数据复制到缓冲存储器中。这给系统带来软件负担,而降低了包括该存储系统的系统的整体性能。
发明内容
本发明公开的一个方面提供了一种无需涉及软件就能控制快闪存储器的存储系统。
本发明公开的另一个方面提供了一种能够以页为单位管理快闪存储器的存储系统。
本发明公开的一个实施例涉及一种存储系统,包括:NAND快闪存储器;用于存储NAND快闪存储器的数据的RAM;以及用于响应存储器请求而控制对RAM和NAND快闪存储器的访问的控制器。该控制器包括用于存储RAM中存储的数据的地址信息的存储器,并参考存储器地址信息控制在存储器请求中选择性地被访问的NAND快闪存储器。
具体地,该控制器的实施例确定在存储器请求中输入的地址信息和存储器地址信息是否一致,并根据确定结果有选择地访问NAND快闪存储器。例如,当在存储器请求中输入的地址信息与存储器地址信息一致时,该控制器输出RAM的数据到外部而不对NAND快闪存储器进行任何访问。当在存储器请求中输入的地址信息与存储器地址信息不一致时,该控制器控制NAND快闪存储器将NAND快闪存储器的数据输出到RAM以及外部。
在一个示范实施例中,控制器以页为单位而不是以块为单位来管理NAND快闪存储器,并在存储器中存储NAND快闪存储器的页面地址信息。此外,只要外部输入的数据存储在RAM中,控制器就在存储器中存储所存储的数据的地址信息。
在一个示范实施例中,控制器还包括:主控制单元,用于根据在存储器请求中输入的地址信息与存储器的地址信息是否一致,发出读/写访问命令;存储器控制单元,用于当在存储器请求中输入的地址信息与存储器地址信息一致时,响应来自主控制单元的读/写访问命令,控制对RAM的访问操作;以及快闪存储器管理和控制单元,用于当在存储器请求中输入的地址信息与存储器地址信息不一致时,响应来自主控制单元的读/写访问命令,控制对NAND快闪存储器的访问操作。
在一个示范实施例中,当在存储器请求中输入的地址信息与存储器地址信息一致时,主控制单元将该地址转换为适合RAM的RAM地址,并将所转换的RAM地址输出到RAM。
在一个示范实施例中,当在存储器请求中输入的地址信息与存储器地址信息不一致时,快闪存储器管理和控制单元将该地址转换成适合NAND快闪存储器的NAND地址。
在一个示范实施例中,快闪存储器管理和控制单元将有关NAND快闪存储器的被访问页面的信息存储在存储器中。当NAND快闪存储器的访问页面是缺陷页面时,该快闪存储器管理和控制单元在存储器中存储缺陷页面信息。该快闪存储器管理和控制单元包括页面地址表,其设置为当NAND快闪存储器被访问时选择另一页面替换该缺陷页面。
在一个示范实施例中,当新数据写入RAM时,主控制单元在存储器中存储用于表示新数据是否存储在RAM中的有效地址信息。当请求更新操作时,该快闪存储器管理和控制单元参考该存储器的有效地址信息产生NAND地址。
在一个示范实施例中,该控制器还包括:用于临时存储从NAND快闪存储器中读出的数据的临时存储器。当RAM的数据存储在NAND快闪存储器中时,该临时存储器通过存储器控制单元的控制而存储来自RAM的数据,所存储的数据通过快闪存储器管理和控制单元的控制而输出到NAND快闪存储器。此外,当NAND快闪存储器数据存储在RAM中时,该临时存储器通过快闪存储器管理和控制单元的控制而存储来自NAND快闪存储器的数据,所存储的数据通过快闪存储器管理和控制单元的控制而输出到RAM以及外部。
本公开内容涉及一种存储系统实施例,其包括:NAND快闪存储器;RAM,用于存储NAND快闪存储器的数据;以及控制器,用于控制对RAM和NAND快闪存储器的访问。该控制器包括:存储器,用于存储来自RAM中存储的数据的存储器地址信息的标志地址;主控制单元,用于根据来自在存储器请求中输入的存储器地址的标志地址与存储器的标志地址是否一致,而发出第一和第二访问命令中的任何一个;存储器控制单元,用于响应第一访问命令控制对RAM的访问操作;以及快闪存储器管理和控制单元,用于响应第二访问命令,控制对NAND快闪存储器的访问。
在一个示范实施例中,当来自在存储器请求中输入的存储器地址的标志地址与存储器的标志地址一致时,该控制器控制该存储器控制单元输出RAM数据到外部而不对NAND快闪存储器进行访问。
在一个示范实施例中,当来自在存储器请求中输入的存储器地址的标志地址与存储器的标志地址不一致时,该控制器控制该快闪存储器管理和控制单元以及存储器控制单元输出NAND快闪存储器数据到RAM和外部。
在一个示范实施例中,该快闪存储器管理和控制单元以页为单位而不是以块为单位管理该NAND快闪存储器,并在存储器中存储该NAND快闪存储器的页面地址信息。
在一个示范实施例中,只要外部输入的数据存储在RAM中,主控制单元就在存储器中存储所存储的数据的标志地址。
在一个示范实施例中,当来自在存储器请求中输入的存储器地址的标志地址与存储器的标志地址一致时,主控制单元将存储器地址转换为适合RAM的RAM地址信息,并将所转换的RAM地址输出到RAM。
在一个示范实施例中,当来自在存储器请求中输入的存储器地址的标志地址与存储器的标志地址不一致时,快闪存储器管理和控制单元将存储器地址转换成适合NAND快闪存储器的NAND地址。
在一个示范实施例中,快闪存储器管理和控制单元在存储器中存储有关NAND快闪存储器的被访问页面的信息。
在一个示范实施例中,当该NAND快闪存储器访问页面是缺陷页面时,快闪存储器管理和控制单元在存储器中存储缺陷页面信息。此外,快闪存储器管理和控制单元包括页面地址表,其设置为当NAND快闪存储器被访问时,选择另一页面替换缺陷页面。当新数据写入RAM时,主控制单元在存储器中存储用于表示新数据是否存储在RAM中的有效地址信息。当请求更新操作时,该快闪存储器管理和控制单元参考该存储器的有效地址信息产生NAND地址。
该控制器还包括:用于临时存储从NAND快闪存储器中读出的数据的临时存储器。当来自RAM的数据存储在NAND快闪存储器中时,该临时存储器通过存储器控制单元的控制而存储来自RAM的数据,所存储的数据根据快闪存储器管理和控制单元而输出到NAND快闪存储器。此外,当NAND快闪存储器数据存储在RAM中时,该临时存储器通过快闪存储器管理和控制单元的控制而存储从NAND快闪存储器读出的数据,所存储的数据通过存储器控制单元的控制而输出到RAM和外部。
附图说明
加入附图以提供对公开内容的进一步理解,将其结合于此,并构成说明书的一部分。附图图解了本发明公开的示范实施例,并与说明书一起用于说明本发明公开内容的原理。在附图中:
图1是根据本发明的公开内容的存储系统的示意方框图;
图2是根据本发明的公开内容的图1中的控制器的示意方框图;
图3是可用于说明根据本发明公开内容的示范实施例的图2中的存储系统的读和写操作的流程图;
图4是用于说明根据本发明公开内容的存储系统的更新操作的流程图;以及
图5图示了在快闪存储器管理和控制单元的页面地址表和NAND快闪存储器的页面数之间的关系。
具体实施方式
以下将参考附图详细描述本发明的优选实施例。但是,本发明可以以不同的形式实施,而不应解释为限于在此所描述的实施例。当然,提供这些实施例是为了使得这一公开内容完整且全面,并对本领域的技术人员传达本发明的范围。在通篇说明书中相同的参考数字和/或字符表示相同的元件。
以下,将结合附图描述本发明公开内容的示范实施例。
图1是根据本发明的公开内容的存储系统的示意方框图。在图1中,本发明公开的存储系统100可以是一个单芯片、多芯片模块等。例如,本发明公开的存储系统100可以作为可插入形成在例如个人计算机的电子设备(例如,主机系统)、移动电子设备(例如,移动电话和数码相机)或游戏机上的卡槽中的存储卡而使用。但是,本领域的技术人员公知,根据本发明公开的存储系统100的用途并不限于这些电子设备。如图1所示,本发明公开的存储系统100包括控制器110、RAM 120、非易失性存储器130和总线140。
控制器110控制RAM 120和非易失性存储器130。控制器110包括用于存储RAM 120中存储的数据的标志地址信息的存储器1100。例如,存储器1100可以由S-RAM、内容可寻址存储器(CAM)或同类设备来实现。非易失性存储器130包括NAND快闪存储器。控制器110分析从主机系统来的命令,并根据所存储的地址信息和所分析的命令控制RAM 120和/或非易失性存储器130。这将全面地说明。例如,主机系统是一台个人计算机,并包括插入图1中的存储系统100的卡槽。RAM 120用于存储被主机系统引用至少一次的数据。引用的数据的地址信息如上所述存储在控制器110的存储器1100中。
根据本发明公开的存储系统100,无论何时请求存储器,都无需访问非易失性存储器130。换而言之,只有当必要时才访问非易失性存储器130的数据。例如,当主机系统请求的数据存储在RAM 120中时,存储在RAM 120中的数据被传输到主机系统而无需访问非易失性存储器。如果主机系统请求的数据没有存储在RAM 120中,那么从非易失性存储器130输出的数据被传输到主机系统并同时存储在RAM 120中。所描述的全部操作可以根据存储在存储器1100中的地址信息来执行。因此,非易失性存储器130可以用附加的方式和设备驱动器访问。
图2是根据本发明的公开内容的示范实施例的图1中可用的控制器的示意方框图。在图2中,RAM 120为DRAM,而非易失性存储器130为NAND快闪存储器。参考图2,本发明公开的控制器110包括存储器1100、主机接口单元1200、主控制单元1300、存储器控制单元1400、快闪存储器管理和控制单元1500、临时存储器1600,和数据锁存器1700。
存储器1100存储RAM 120中存储的数据的地址信息(例如,标志地址信息)。此外,存储器1100存储NAND快闪存储器的页面地址信息(例如,缺陷页面信息)。存储器1100包括用于存储标志地址信息和页面地址信息的存储区域1101、和命中/错失检测器1102。存储区域1101存储了有效比特信息。有效比特信息表示新数据是否存储在RAM 120中由从主机系统通过主机接口单元1200传输来的存储器地址XADD指定的预定区域中。命中/错失检测器1102检测存储器地址的标志地址与存储区域1101中存储的标志地址是否一致,并将检测结果输出到主控制单元1300。标志地址信息和有效比特信息可以根据主控制单元1300的控制而存储在存储区域1101中。
主控制单元1300确定从主机系统通过主机接口单元1200传输来的存储器请求表示读、写、还是回写操作。主控制单元1300根据确定结果和从存储器1100来的命中/错失检测结果控制存储器1100、存储器控制单元1400和快闪存储器管理和控制单元1500。主控制单元1300将从主机系统通过主机接口单元1200传输来的存储器地址XADD转换成适合RAM 120的RAM地址RADD。将转换后的RAM地址提供给存储器控制单元1400。
控制单元1400在从主控制单元1300输入RAM地址RADD和读命令时控制RAM 120的读/写操作。例如,当输入读命令时,存储器控制单元1400输出控制信号和地址给RAM 120。以公知方式对RAM 120施加读操作,而通过读操作读取的数据临时存储在数据锁存器1700中。数据锁存器1700中存储的数据可以根据主控制单元1300的控制而通过主机接口单元1200输出到主机系统。当输入写命令时,存储器控制单元1400输出控制信号和地址给RAM。要写入RAM 120中的数据从数据锁存器1700发送到RAM 120。如本领域的技术人员所公知,要存储在RAM 120中的数据可以在主机系统中传输到锁存器1700。可选择地,当输入写命令时,存储器控制单元1400输出控制信号和地址给RAM 1200,而要写入RAM 120的数据可以根据存储器控制单元1400的控制而从临时存储器1600提供给RAM 120。在这种情况申,临时存储器1600中的数据从NAND快闪存储器130写入。
快闪存储器管理和控制单元1500在从主控制单元输入闪存访问信息时根据访问信息控制对NAND快闪存储器130的访问操作。例如,当从主控制单元1300输入闪存读信息时,快闪存储器管理和控制单元1500根据预定的定时将从主机系统来的存储器地址转换成NAND地址,并输出读命令和转换后的NAND地址给NAND快闪存储器130。预定的时间过后(或从选定页面读出数据所需的时间过后),从NAND快闪存储器130输出的数据根据快闪存储器管理和控制单元1500的控制而存储在临时存储器1600中。存储在临时存储器1600中的数据可以根据存储器控制单元的控制而存储在RAM1200中。快闪存储器管理和控制单元单元1500确定从NAND快闪存储器130输出的数据是否有错。如果该读取的数据有错,那么快闪存储器管理和控制单元1500在存储器1100中存储有错的数据的页面信息(称之为“缺陷页面信息”)。快闪存储器管理和控制单元1500根据该缺陷页面信息重新映射页面地址。结果,该缺陷页面可以被其他页面所替代(例如,缺陷页面的下一页)。然后,对于对缺陷页面的访问请求,可以指定替代页面来取代缺陷页面。
参考图3,如果存储器请求从主机系统输入(步骤S100),主控制单元1300确定该存储器请求是写操作还是读操作(步骤S110)。如果请求读操作,则处理进入步骤S120。在步骤S120中,确定从主机系统传输来的存储器地址的一部分是否与存储器1100的存储区域中的标志地址一致。如果一致,则处理进入步骤S140。在步骤S140中,存储在RAM 120中的数据被发送到主机系统。更具体地,主控制单元1300将存储器地址转换成RAM地址,并输出读命令和RAM地址给存储器控制单元1400。存储器控制单元1400发送所输入的读命令和RAM地址给RAM 120。因此,RAM 120根据所输入的读命令和地址执行读操作。从RAM 120读出的数据可以通过数据锁存器1700和接口单元1200传输到主机系统。
当在步骤S120中给主控制单元1300输入错失(与命中相反)信息时,则处理进入步骤S130。在步骤S130中,根据快闪存储器管理和控制单元1500的控制而从NAND快闪存储器读取数据,并且所读取的数据可以存储在RAM 120中。更具体地,快闪存储器管理和控制单元1500将存储器地址转换成NAND地址,并根据预设的定时将转换后的地址和读命令输出给NAND快闪存储器130。在此情况中,快闪存储器管理和控制单元1500参考页面地址表(或存储在存储器1100中的页面信息)将存储器地址转换成NAND地址。预定的时间过后,通过快闪存储器管理和控制单元1500的控制,从NAND快闪存储器130输出的数据存储在临时存储器1600中。存储在临时存储器160中的数据可以通过存储器控制单元1400的控制而存储在RAM 120中。同时,从NAND快闪存储器130读出的数据通过数据锁存器1700和主机接口单元1200输出到主机系统。接着,处理进入步骤S140。
再回到步骤S110的处理,如果确定存储器请求是写操作,那么处理进入步骤S160。在步骤S160中确定从主机系统传输来的存储器地址的一部分是否与存储器1100的存储区域中的标志地址一致。如果一致,则处理进入步骤S180。在步骤S180中,从主机系统传输来的数据可以存储在RAM 120中。更具体地,主控制单元1300将存储器地址转换成RAM地址,并将写命令和RAM地址输出给存储器控制单元1400。存储器控制单元1400将所输入的写命令和RAM地址传输给RAM 120。同时,从主机系统传输来的数据通过主机接口单元1200和数据锁存器1700发送给RAM 120。根据所输入的写命令和地址,数据可以存储在RAM 120中。接着,处理进入步骤S150。
如果在步骤S160中向主控制单元1300输入了错失信息,那么处理进入步骤S170。在步骤S170中,根据快闪存储器管理和控制单元1500的控制,从NAND快闪存储器读取数据,并且将所读取的数据存储在RAM 120中。更具体地,快闪存储器管理和控制单元1500将存储器地址转换成NAND地址,并根据预设的定时将转换后的地址和读命令输出给NAND快闪存储器130。预定的时间过后,从NAND快闪存储器130输出的数据根据快闪存储器管理和控制单元1500的控制而存储在临时存储器中。存储在临时存储器1600中的数据可以根据快闪存储器管理和控制单元1500的控制而存储在RAM 120中。接着,在步骤S180中,通过存储器控制单元1400的控制,将从主机系统传输来的数据通过主机接口单元1200和数据锁存器1700发送到RAM 120,并可以存储在RAM 120中。
在以上操作完成后,在步骤S150中执行更新存储器1100的操作。标志地址信息和用于表示新数据存储在RAM 120的预定区域中的有效比特信息。对应于标志地址的信息存储在存储器1100的存储区域1101中。可选择地,页面地址表的页面地址信息可以存储在存储器1100中。
根据以上描述,除了存在由RAM 120请求数据的时候之外,无论何时从主机系统输入存储器请求时都不访问NAND快闪存储器130。这就意味着不需要附加的模式(例如,请求页面调度模式)来读取存储在NAND快闪存储器130中的数据。即,主机系统可以解除软件负担。此外,由于不需要在整个RAM中存储NAND快闪存储器130的数据,因此允许存储器高效管理。
当数据新写入到RAM 120中时,NAND快闪存储器130应当用存储在RAM 120中的新数据更新。
图4是用于说明根据本发明公开内容的存储系统的更新操作的流程图。现将参考附图更详细描述说明存储系统的更新操作。只要主机系统请求就执行更新操作。此外,当系统总线未被使用时,可以通过主控制单元1300的控制来执行更新操作。为了示范说明的目的,以主机系统的示例请求为例说明更新操作。如上所述,在存储器1100中存储有有效比特信息。该有效比特信息表示该新数据是否存储在RAM 120的预定区域(例如,存储有NAND快闪存储器页面数据的区域)。更新操作基于存储在存储器1100中的有效比特信息而执行。
当首先输入更新请求(步骤S200)时,主控制单元1300向快闪存储器管理和控制单元1500发出更新命令。该快闪存储器管理和控制单元1500顺序地引用存储在存储器1100中的页面信息和有效比特信息,确定要选择的NAND快闪存储器130的页面是否要更新的页面(步骤S210)。如果要选择的页面是要更新的页面,那么包括要选择的页面的NAND快闪存储器130的存储块就被擦除(步骤S220)。在擦除存储块后,检查被擦除的存储块以确定其是否是缺陷页面(步骤S230)。如果它是缺陷页面,那么快闪存储器管理和控制单元1500重新映射页面地址,接着修改页面地址表,如图5所示(步骤S240)。随后处理进入步骤S250。如果在步骤S230中没有缺陷页面,那么处理进入步骤S250。在步骤S250中快闪存储器管理和控制单元1500用存储器的有效比特信息产生NAND地址。快闪存储器管理和控制单元1500将该NAND地址、程序命令和一系列数据输出给NAND快闪存储器130。发送给NAND快闪存储器130的数据可以以公知的编程方式存储(步骤S260)。发送给NAND快闪存储器130的数据为页面数据,并以上述描述相同的方式从RAM 120传输。快闪存储器管理和控制单元1500将页面地址表中存储的页面地址信息存储在存储器1100中(步骤S270)。随后,重复以上的更新操作,直到所有有效比特信息都被引用了。
如以上所述,除了存在由RAM请求的数据的时候之外,无论何时从主机系统输入存储器请求都不访问NAND快闪存储器。因此,不需要用于读取存储在NAND快闪存储器中的数据的命令页面模式。即,主机系统可以解除软件负担。此外,由于不需要在整个RAM中存储NAND快闪存储器的数据,因此允许存储器高效管理。
虽然结合附图所示本发明的实施例描述了本发明,但其并不限于此。显然,对本领域的技术人员来说,在不脱离本发明的范围和精神的情况下,可以作出各种置换、修改和变化。
Claims (32)
1、一种存储系统,包括:
NAND快闪存储器;
RAM,与该NAND快闪存储器进行信号通信,用于存储NAND快闪存储器的数据;以及
控制器,与该NAND快闪存储器进行信号通信,用于响应存储器请求控制对RAM和NAND快闪存储器的访问,
其中,该控制器包括用于存储RAM中存储的数据的地址信息的存储器,并且该控制器参考该存储器的地址信息控制在存储器请求中要选择性地访问的NAND快闪存储器。
2、根据权利要求1的存储系统,其中该控制器确定在存储器请求中输入的地址信息与存储器的地址信息是否一致,并根据确定结果选择性地访问的NAND快闪存储器。
3、根据权利要求2的存储系统,其中当在存储器请求中输入的地址信息与存储器的地址信息一致时,控制器将RAM的数据输出到外部,而不对NAND快闪存储器进行任何访问。
4、根据权利要求2的存储系统,其中当在存储器请求中输入的地址信息与存储器的地址信息不一致时,控制器控制NAND快闪存储器将NAND快闪存储器的数据输出到RAM和外部。
5、根据权利要求1的存储系统,其中控制器以页面为单位而不是以块为单位,来管理NAND快闪存储器,并将NAND快闪存储器的页面地址信息存储在所述存储器中。
6、根据权利要求1的存储系统,其中只要在RAM中存储有外部输入的数据时,控制器就在所述存储器中存储所存储的数据的地址信息。
7、根据权利要求2的存储系统,该控制器还包括:
主控制单元,用于根据在存储器请求中输入的地址信息与存储器的地址信息是否一致,发出读/写访问命令;
存储器控制单元,与主控制单元进行信号通信,用于当在存储器请求中输入的地址信息与存储器地址信息一致时,响应来自主控制单元的读/写访问命令,控制对RAM的访问操作;以及
快闪存储器管理和控制单元,与主控制单元进行信号通信,用于当在存储器请求中输入的地址信息与存储器地址信息不一致时,响应来自主控制单元的读/写访问命令,控制对NAND快闪存储器的访问操作。
8、根据权利要求7的存储系统,其中当在存储器请求中输入的地址信息与存储器地址信息一致时,主控制单元将该地址转换为适合RAM的RAM地址,并将转换后的RAM地址输出到RAM。
9、根据权利要求7的存储系统,其中当在存储器请求中输入的地址信息与存储器地址信息不一致时,快闪存储器管理和控制单元将该地址转换成适合NAND快闪存储器的NAND地址。
10、根据权利要求7的存储系统,其中快闪存储器管理和控制单元将有关NAND快闪存储器的被访问页面的信息存储在所述存储器中。
11、根据权利要求10的存储系统,其中当该NAND快闪存储器的被访问页面是缺陷页面时,该快闪存储器管理和控制单元将缺陷页面信息存储在存储器中。
12、根据权利要求11的存储系统,其中该快闪存储器管理和控制单元包括页面地址表,其设置为当访问NAND快闪存储器时选择另一页面替换缺陷页面。
13、根据权利要求7的存储系统,其中当新数据被写入RAM时,主控制单元在所述存储器中存储用于表示新数据是否存储在RAM中的有效地址信息。
14、根据权利要求13的存储系统,其中当请求更新操作时,该快闪存储器管理和控制单元参考该存储器的有效地址信息产生NAND地址。
15、根据权利要求1的存储系统,其中控制器还包括用于临时存储从NAND快闪存储器中读出的数据的临时存储器。
16、根据权利要求15的存储系统,其中当RAM的数据存储在NAND快闪存储器中时,该临时存储器通过存储器控制单元的控制而存储来自RAM的数据,所存储的数据通过快闪存储器管理和控制单元的控制而输出到NAND快闪存储器。
17、根据权利要求15的存储系统,其中当NAND快闪存储器的数据存储在RAM中时,该临时存储器通过快闪存储器管理和控制单元的控制而存储来自NAND快闪存储器的数据,所存储的数据通过存储器控制单元的控制而输出到RAM和外部。
18、一种存储系统,包括:
NAND快闪存储器;
RAM,用于存储NAND快闪存储器的数据;以及
控制器,与NAND快闪存储器和RAM进行信号通信,用于控制对RAM和NAND快闪存储器的访问;
其中该控制器包括:
存储器,用于存储来自RAM中存储的数据的存储器地址信息的标志地址;
主控制单元,与存储器进行信号通信,用于根据来自在存储器请求中输入的存储器地址的标志地址与存储器的标志地址是否一致,而发出第一和第二访问命令中的任何一个;
存储器控制单元,与主控制单元进行信号通信,用于响应第一访问命令控制对RAM的访问;以及
快闪存储器管理和控制单元,与主控制单元进行信号通信,用于响应第二访问命令,控制对NAND快闪存储器的访问。
19、根据权利要求18的存储系统,其中当来自在存储器请求中输入的存储器地址的标志地址与存储器的标志地址一致时,该控制器控制该存储器控制单元输出RAM的数据到外部,而不访问NAND快闪存储器。
20、根据权利要求18的存储系统,其中当来自在存储器请求中输入的存储器地址的标志地址与存储器的标志地址不一致时,该控制器控制该快闪存储器管理和控制单元以及存储器控制单元输出NAND快闪存储器的数据到RAM和外部。
21、根据权利要求18的存储系统,其中快闪存储器管理和控制单元以页为单位而不是以块为单位,管理该NAND快闪存储器,并在该存储器中存储该NAND快闪存储器的页面地址信息。
22、根据权利要求18的存储系统,其中只要外部输入的数据存储在RAM中,主控制单元就在存储器中存储所存储的数据的标志地址。
23、根据权利要求18的存储系统,其中当来自在存储器请求中输入的存储器地址的标志地址与存储器的标志地址一致时,主控制单元将该存储器地址转换为适合RAM的RAM地址信息,并将转换后的RAM地址输出到RAM。
24、根据权利要求23的存储系统,其中当来自在存储器请求中输入的存储器地址的标志地址与存储器的标志地址不一致时,快闪存储器管理和控制单元将该存储器地址转换成适合NAND快闪存储器的NAND地址。
25、根据权利要求18的存储系统,其中快闪存储器管理和控制单元将有关NAND快闪存储器的被访问页面的信息存储在存储器中。
26、根据权利要求25的存储系统,其中当该NAND快闪存储器的被访问页面是缺陷页面时,快闪存储器管理和控制单元在存储器中存储缺陷页面信息。
27、根据权利要求25的存储系统,其中快闪存储器管理和控制单元包括页面地址表,其设置为当NAND快闪存储器被访问时,选择另一页面替换缺陷页面。
28、根据权利要求18的存储系统,其中当新数据写入RAM时,主控制单元存储在用于表示新数据是否存储在RAM中的有效地址信息。
29、根据权利要求28的存储系统,其中当请求更新操作时,该快闪存储器管理和控制单元参考该存储器的有效地址信息产生NAND地址。
30、根据权利要求18的存储系统,其中控制器还包括临时存储器,与存储器控制单元进行信号通信,用于临时存储从NAND快闪存储器读取的数据。
31、根据权利要求30的存储系统,其中当来自RAM的数据存储在NAND快闪存储器中时,该临时存储器通过存储器控制单元的控制而存储来自RAM的数据,所存储的数据根据快闪存储器管理和控制单元而输出到NAND快闪存储器。
32、根据权利要求30的存储系统,其中当来自NAND快闪存储器的数据存储在RAM中时,该临时存储器通过快闪存储器管理和控制单元的控制而存储来自NAND快闪存储器的数据,所存储的数据通过存储器控制单元的控制而输出到RAM和外部。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040010144A KR101085406B1 (ko) | 2004-02-16 | 2004-02-16 | 불 휘발성 메모리를 제어하기 위한 컨트롤러 |
KR10144/04 | 2004-02-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1700188A true CN1700188A (zh) | 2005-11-23 |
CN100481022C CN100481022C (zh) | 2009-04-22 |
Family
ID=34836784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200510071727XA Active CN100481022C (zh) | 2004-02-16 | 2005-02-16 | 用于控制非易失性存储器的控制器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7373452B2 (zh) |
JP (1) | JP5043302B2 (zh) |
KR (1) | KR101085406B1 (zh) |
CN (1) | CN100481022C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103563353A (zh) * | 2011-03-23 | 2014-02-05 | 汤姆逊许可公司 | 控制存储器接口及相关接口的方法 |
CN111258922A (zh) * | 2020-01-14 | 2020-06-09 | 深圳天邦达科技有限公司 | 阈值参数的读取方法和装置 |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100762259B1 (ko) * | 2005-09-12 | 2007-10-01 | 삼성전자주식회사 | 버스트 읽기 레이턴시 기능을 갖는 낸드 플래시 메모리장치 |
WO2007090432A1 (en) * | 2006-02-09 | 2007-08-16 | Freescale Semiconductor, Inc. | An electronic device having a memory element and method of operation therefor |
KR100746036B1 (ko) | 2006-02-23 | 2007-08-06 | 삼성전자주식회사 | 플래시 메모리를 제어하는 장치 및 방법 |
US7716411B2 (en) * | 2006-06-07 | 2010-05-11 | Microsoft Corporation | Hybrid memory device with single interface |
US8086791B2 (en) * | 2006-08-08 | 2011-12-27 | Dataram, Inc. | Solid state memory device with PCI controller |
US20080040544A1 (en) * | 2006-08-08 | 2008-02-14 | Jason Caulkins | Computer System For Reading And Writing Data |
JP5137002B2 (ja) * | 2007-01-25 | 2013-02-06 | 株式会社メガチップス | メモリコントローラ |
JP5032172B2 (ja) * | 2007-03-28 | 2012-09-26 | 株式会社東芝 | 統合メモリ管理装置及び方法並びにデータ処理システム |
US8135900B2 (en) | 2007-03-28 | 2012-03-13 | Kabushiki Kaisha Toshiba | Integrated memory management and memory management method |
JP4412676B2 (ja) | 2007-05-30 | 2010-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メインメモリに書き込むデータをキャッシュする技術 |
JP4922860B2 (ja) * | 2007-08-01 | 2012-04-25 | 株式会社日立製作所 | 半導体装置 |
US8285919B2 (en) * | 2008-05-27 | 2012-10-09 | Initio Corporation | SSD with improved bad block management |
WO2009149059A1 (en) * | 2008-06-04 | 2009-12-10 | Initio Corporation | Ssd with a controller accelerator |
CN101751338B (zh) * | 2008-12-15 | 2012-03-07 | 中芯国际集成电路制造(上海)有限公司 | 数据存取控制装置及数据存取方法 |
US8924661B1 (en) * | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
US8838878B2 (en) | 2010-06-01 | 2014-09-16 | Greenliant Llc | Method of writing to a NAND memory block based file system with log based buffering |
US9176671B1 (en) | 2011-04-06 | 2015-11-03 | P4tents1, LLC | Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system |
US9170744B1 (en) | 2011-04-06 | 2015-10-27 | P4tents1, LLC | Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system |
US9164679B2 (en) | 2011-04-06 | 2015-10-20 | Patents1, Llc | System, method and computer program product for multi-thread operation involving first memory of a first memory class and second memory of a second memory class |
US9158546B1 (en) | 2011-04-06 | 2015-10-13 | P4tents1, LLC | Computer program product for fetching from a first physical memory between an execution of a plurality of threads associated with a second physical memory |
US8930647B1 (en) | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
US8607089B2 (en) | 2011-05-19 | 2013-12-10 | Intel Corporation | Interface for storage device access over memory bus |
US9417754B2 (en) | 2011-08-05 | 2016-08-16 | P4tents1, LLC | User interface system, method, and computer program product |
US8423722B1 (en) * | 2011-08-26 | 2013-04-16 | Western Digital Technologies, Inc. | System and method for high performance command processing in solid state drives |
US9116856B2 (en) * | 2012-11-08 | 2015-08-25 | Qualcomm Incorporated | Intelligent dual data rate (DDR) memory controller |
US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
JP6021759B2 (ja) * | 2013-08-07 | 2016-11-09 | 株式会社東芝 | メモリシステムおよび情報処理装置 |
US10185515B2 (en) | 2013-09-03 | 2019-01-22 | Qualcomm Incorporated | Unified memory controller for heterogeneous memory on a multi-chip package |
KR102146037B1 (ko) * | 2013-11-14 | 2020-08-19 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 동작 방법 |
US20170060434A1 (en) * | 2015-08-27 | 2017-03-02 | Samsung Electronics Co., Ltd. | Transaction-based hybrid memory module |
CN105975406B (zh) * | 2016-04-29 | 2019-05-10 | 浪潮(北京)电子信息产业有限公司 | 一种数据存取方法及装置 |
JP6734536B2 (ja) * | 2016-07-29 | 2020-08-05 | 富士通株式会社 | 情報処理装置及びメモリコントローラ |
JP6880769B2 (ja) | 2017-01-24 | 2021-06-02 | 富士通株式会社 | 情報処理装置,制御プログラムおよび情報処理方法 |
JP2021182300A (ja) | 2020-05-20 | 2021-11-25 | キオクシア株式会社 | メモリコントローラ、メモリシステムおよびメモリシステムの制御方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7190617B1 (en) * | 1989-04-13 | 2007-03-13 | Sandisk Corporation | Flash EEprom system |
JPH07146820A (ja) * | 1993-04-08 | 1995-06-06 | Hitachi Ltd | フラッシュメモリの制御方法及び、それを用いた情報処理装置 |
KR970008188B1 (ko) * | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
US5596713A (en) * | 1993-12-08 | 1997-01-21 | Zenith Data Systems Corporation | Method to prevent data loss in an electrically erasable read only memory |
US5696929A (en) * | 1995-10-03 | 1997-12-09 | Intel Corporation | Flash EEPROM main memory in a computer system |
JP2000276402A (ja) * | 1999-03-24 | 2000-10-06 | Kokusai Electric Co Ltd | フラッシュメモリ駆動方法及びフラッシュメモリ装置 |
JP3574078B2 (ja) | 2001-03-16 | 2004-10-06 | 東京エレクトロンデバイス株式会社 | 記憶装置と記憶装置制御方法 |
JP4049297B2 (ja) * | 2001-06-11 | 2008-02-20 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
JP4256600B2 (ja) * | 2001-06-19 | 2009-04-22 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
KR100393619B1 (ko) | 2001-09-07 | 2003-08-02 | 삼성전자주식회사 | 휴대 단말기의 메모리 장치 및 그 제어방법 |
DE60336461D1 (de) * | 2002-04-30 | 2011-05-05 | Dsp Group Switzerland Ag | Lüchtigen speicher in einer integrierten schaltung und integrierte schaltung hierfür |
EP1523711A1 (en) * | 2002-06-19 | 2005-04-20 | Tokyo Electron Device Limited | Memory device, memory managing method and program |
JP2004046481A (ja) * | 2002-07-11 | 2004-02-12 | Seiko Epson Corp | 半導体集積回路装置 |
US6888755B2 (en) * | 2002-10-28 | 2005-05-03 | Sandisk Corporation | Flash memory cell arrays having dual control gates per memory cell charge storage element |
-
2004
- 2004-02-16 KR KR1020040010144A patent/KR101085406B1/ko active IP Right Grant
-
2005
- 2005-01-12 US US11/034,176 patent/US7373452B2/en active Active
- 2005-01-14 JP JP2005008363A patent/JP5043302B2/ja active Active
- 2005-02-16 CN CNB200510071727XA patent/CN100481022C/zh active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103563353A (zh) * | 2011-03-23 | 2014-02-05 | 汤姆逊许可公司 | 控制存储器接口及相关接口的方法 |
CN111258922A (zh) * | 2020-01-14 | 2020-06-09 | 深圳天邦达科技有限公司 | 阈值参数的读取方法和装置 |
CN111258922B (zh) * | 2020-01-14 | 2023-10-27 | 深圳天邦达科技有限公司 | 阈值参数的读取方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
KR101085406B1 (ko) | 2011-11-21 |
JP2005235182A (ja) | 2005-09-02 |
US20050182893A1 (en) | 2005-08-18 |
JP5043302B2 (ja) | 2012-10-10 |
US7373452B2 (en) | 2008-05-13 |
KR20050081769A (ko) | 2005-08-19 |
CN100481022C (zh) | 2009-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1700188A (zh) | 用于控制非易失性存储器的控制器 | |
KR101465789B1 (ko) | 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법 | |
US7526599B2 (en) | Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system | |
US9405675B1 (en) | System and method for managing execution of internal commands and host commands in a solid-state memory | |
US7174440B2 (en) | Method and apparatus for performing block caching in a non-volatile memory system | |
JP4611024B2 (ja) | ブロック内のページをグループ化する方法及び装置 | |
CN1290021C (zh) | 编程和读取更新数据的非易失性存储器系统和方法 | |
KR100526879B1 (ko) | 플래쉬 파일 시스템 | |
US7970981B2 (en) | Flash memory device with multi-level cells and method of writing data therein | |
US7039788B1 (en) | Method and apparatus for splitting a logical block | |
KR100816761B1 (ko) | 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법 | |
US8909895B2 (en) | Memory apparatus | |
US20080120488A1 (en) | Apparatus and method of managing nonvolatile memory | |
CN1822217A (zh) | 将数据存储在非易失性高速缓冲存储器中的设备和方法 | |
US20190339904A1 (en) | Solid state drive using two-level indirection architecture | |
US7287117B2 (en) | Flash memory and mapping control apparatus and method for flash memory | |
KR20050050148A (ko) | 비-휘발성 저장 시스템의 소모 레벨링 | |
CN109697170B (zh) | 存取闪存模块的方法及相关的闪存控制器与电子装置 | |
CN106598504B (zh) | 数据存储方法及装置 | |
CN111338562B (zh) | 数据存储装置与数据处理方法 | |
US20170160940A1 (en) | Data processing method and apparatus of solid state disk | |
TWI805445B (zh) | 借助額外實體位址資訊來進行記憶體裝置之存取控制的方法、記憶體裝置以及記憶體裝置的控制器 | |
CN116540950B (zh) | 一种存储器件及其写入数据的控制方法 | |
US9575883B2 (en) | Control device, storage device, and storage control method | |
US20040078513A1 (en) | Storage device |
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 |