CN102063943B - Nand闪存参数自动检测系统 - Google Patents

Nand闪存参数自动检测系统 Download PDF

Info

Publication number
CN102063943B
CN102063943B CN201010564749.0A CN201010564749A CN102063943B CN 102063943 B CN102063943 B CN 102063943B CN 201010564749 A CN201010564749 A CN 201010564749A CN 102063943 B CN102063943 B CN 102063943B
Authority
CN
China
Prior art keywords
flash memory
page
nand flash
address
memory device
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
Application number
CN201010564749.0A
Other languages
English (en)
Other versions
CN102063943A (zh
Inventor
林志豪
何家良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hong Kong Applied Science and Technology Research Institute ASTRI
Original Assignee
Hong Kong Applied Science and Technology Research Institute ASTRI
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hong Kong Applied Science and Technology Research Institute ASTRI filed Critical Hong Kong Applied Science and Technology Research Institute ASTRI
Publication of CN102063943A publication Critical patent/CN102063943A/zh
Application granted granted Critical
Publication of CN102063943B publication Critical patent/CN102063943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs

Abstract

一个NAND闪存参数自动检测系统包括:一个有多个参数的NAND闪存装置和一个闪存控制器;闪存控制器被设置以自动检测NAND闪存参数,过程包括:读取NAND闪存装置的装置标识符,如果返回一个有效装置标识符就继续进行,检测NAND闪存装置的地址周期和区块类型,检测NAND闪存装置的页面尺寸,检测NAND闪存装置的空闲尺寸,检测NAND闪存装置的存储容量,并检测NAND闪存装置的区块尺寸。

Description

NAND闪存参数自动检测系统
【技术领域】
本发明通常涉及电子存储装置,特别涉及闪存(flash memory),其中闪存装置的接口参数根据容量、型号和品牌的不同而不同。更特别地,本发明涉及自动检测和读取NAND闪存装置的接口参数。
【背景技术】
闪存是一种非易失性电子数据存储电路,其可以电子编程以保留数据,并可以重复擦除,因此,非常适合作为一个可重写数据存储媒介用于电子和计算机系统。NAND闪存是一种特别类型的闪存,其使用浮栅(floating-gate)晶体管串联连接。NAND闪存技术广泛应用于计算机系统、数码相机、便携式音乐播放器、USB闪存驱动、存储卡、以及SmartMediaTM卡。
根据厂商、型号和所使用的技术,NAND闪存有不同的容量和电子构造。例如,在NAND闪存装置内的存储体(memory bank)以区块排列,其尺寸包括但不限于16K、128K、256、或512K字节。每个区块又被分成页。页的数量可以是32、64、128、或更多,每页的大小可能是256、512、1K、2K、或4K字节。其它属性特征如区块类型、地址周期、和空闲存储空间的大小也会有一些不同的技术。
为了与NAND闪存装置进行联系,NAND闪存装置的前述电子特性必须为主机(host system)所知。这些电子特性就是一个特定NAND闪存装置的接口参数,即特定容量、型号和品牌,其通常通过一个闪存控制元件连接到主机。因此,与NAND闪存装置连接的闪存控制元件必须知道NAND闪存装置的接口参数,包括其地址周期、区块类型、页面尺寸、空闲尺寸、存储容量、以及区块尺寸。
在现有技术条件下,电子或计算机系统通常必须将不同厂商和型号的多组NAND闪存接口参数值存储在一个独立存储器里。一旦有一个NAND闪存装置连接上,匹配的那组接口参数值被加载到其闪存控制器内。正因为如此,在启动计算机处理器时所必需的系统启动指令代码不可能存储在NAND闪存内。
上述问题的一个解决方案是将一组预设的NAND闪存接口参数值预先设置到闪存控制器。但是,其缺点是仅有一个厂商和型号的NAND闪存被主机系统或至少预先设置的闪存控制器所接纳。
在消费电子产品的大规模生产过程中,生产组装线使特定品牌和型号的NAND闪存与大量产品项目相匹配时,会有问题的,因为大量产品项目会有许多不同的构造,其元件来自许多不同的供应商。如果NAND闪存接口参数可以自动进行检测,那么多种品牌和/或型号的NAND闪存,不管其接口参数有何不同,都能够与闪存控制器进行配对,而无需进行任何预先设置。
美国专利申请文献(US2008/0288715)披露了一种NAND闪存页面尺寸自动检测的硬件可实施方法和另一种软件可实施检测方法。但是,披露的硬件方法,是基于不同的访问协议,仅能够估计页面尺寸是否小于或等于512字节,而披露的软件方法依靠自动检测标记的使用,其是在制造期间被写入NAND闪存的存储空间里的特定位置,由制造商决定。因此,这种NAND闪存必须是新的,以便此软件方法进行运作。
美国专利(7,657,696)也披露了一种自动检测NAND闪存的多个参数的方法。但是,美国专利(7,657,696)描述仅能够检测一些NAND闪存参数,如地址周期和页面尺寸,没有解决其它接口参数,其在与NAND闪存装置进行全功能范围的通信联系里是必需的。
在美国专利申请文献(2007/0067520)里,尽管描述了一个NAND闪存参数检测的一般流程,但没有提供任何特别方法或机制来确定不同厂商和型号的NAND闪存的接口参数值。
与使用闪存来存储系统启动指令代码有关的另一个问题是在计算机处理器和闪存之间的运行速度不匹配。普通计算机处理器执行指令的速度远远快过闪存提取存储的启动指令代码并馈给处理器的速度,从而浪费处理器等待周期。
为了缩窄计算机处理器和闪存之间的运行速度差,许多系统设计采用一种缓存分层结构,其中使用一种较快的存储技术作为中间数据或指令缓存。这种设计在闪存控制器里包括一组静态随机存取存储器(SRAM)。由于SRAM相当贵,且存储密度很低,通常只会采用相当少的数量。
当系统启动指令代码超出缓存大小时,指令代码仅能够部分缓存。产生的问题是在代码执行期间的任何时间点上哪部分指令代码应该被缓存。美国专利(6,026,027)披露了一种电子存储系统,其有一个半永久存储器、一个用于快速数据转移和临时存储的存储装置、和用于监控和控制写入半永久存储器的控制器。在其一个例子里,闪存和SRAM分别被用作半永久存储器和临时存储器。这种配置会提高闪存实施的有效运算带宽,但其缓存管理过程相对简单,其中仅当数据在缓存里才能够从缓存读取数据,并没有完全实现缓存层次结构的全部潜在好处。
在美国专利(7,493,447)里描述了一种更先进的缓存管理系统。披露的缓存管理系统提供一种预测用于顺序程序代码,使得即将要执行的指令会被缓存。但是,此预测是基于指令代码分支或跳跃的类型,因此,这个缓存管理系统是特别针对某些类型的计算机处理器。
【发明内容】
本发明的一个目的是提供一种方法和系统用于自动检测和读取任何存储容量、型号和品牌的NAND闪存装置的接口参数,而无需任何现有技术里的对接口参数值进行预先编程和预先设定。
本发明的另一个目的是在系统开启时能够使用NAND闪存来存储并提供系统启动指令代码到一个计算机处理器,从而减少系统里对额外的单独存储器的需要。
本发明的另一个目的是通过利用一个与CPU无关的代码预测算法来减少存取时间,从而提高计算机处理器存取存储在NAND闪存内的系统启动指令的速度,而提高系统开启速度。
依照本发明的各种实施例,NAND闪存参数自动检测过程包括依照以下特定次序检测目标NAND闪存装置的地址周期和区块类型、检测页面尺寸、检测空闲尺寸、检测存储容量、以及检测区块尺寸。
检测地址周期和区块类型包括:发出读取命令和一定数目字节的存储地址到目标NAND闪存装置;监控来自目标NAND闪存装置的繁忙信号;根据在接收到繁忙信号之前就已经发出的一定数目字节的存储地址来确定地址周期和区块类型。区块类型可以是“large”(大)或“small”(小),而地址周期可以是3、4或5。
检测页面尺寸是从在一个页面开头上读取多个字节数据开始,然后在一个2倍其之前数值的列地址上重复进行相同数目字节数据的数据读取操作,直到读取的数据与在页面开头上读取的数据匹配。读取到相同数据是因为一旦发送到目标NAND闪存装置的列地址正指向一个列地址(其是该页面尺寸的倍数)时,其将循环并指回该页面开头进行数据读取。从而确定页面尺寸。
检测空闲尺寸包括:在一个页面的空闲存储空间的开头上首先读取多字节数据。通过指向一个超出该页面主存储空间结尾之外的列地址,能够存取空闲存储空间。
对小区块类型的NAND闪存装置,通过递增一个列地址(从最小支持空闲尺寸加上页面尺寸减去一个存储地址单元的列地址上开始),执行重复数据读取操作,能够检测到空闲尺寸。为每次数据读取,都对列地址递增一个存储地址单元,最终会到达空闲存储地址空间的结尾。这时,返回页面主存储空间的数据,并提供繁忙信号。因此,通过将从第一次数据读取列地址位置上的所有列地址增量加上最小支持空闲尺寸,就能够确定空闲存储空间的尺寸。
对大区块类型的NAND闪存,首先写入多字节特定数据模式到空闲存储空间的一个列地址上,该列地址是最小支持空闲尺寸加页面尺寸减去一个存储地址单元,然后在递增的列地址上重复进行数据读取操作。为每次读取数据,都将列地址递增一个存储地址单元,最终将到达空闲存储空间的结尾,并且读取到的数据与写入到空闲存储空间的初始数据不匹配。因此,通过将从第一数据读取的列地址位置上的所有列地址增量加上最小支持空闲尺寸,能够确定空闲存储空间的尺寸。
对一个小区块类型的NAND闪存装置,检测存储容量包括:首先从一个页面的一个列地址和一个行地址上读取数据,该列地址等于0x00,该行地址等于0x100000(有地址周期4)或0x1000(有地址周期3);对一个大区块类型的NAND闪存装置,检测存储容量也是首先从一个页面的一个列地址和一个行地址上读取数据,该列地址等于0x0000,该行地址等于0x010000。然后执行页面检测程序。
根据页面检测程序的结果,或者递减行地址重复页面读取操作,或者递增行地址重复页面读取操作。在前一种情况下,在每一页的读取操作后,再执行页面检测程序。当页面检测程序返回一个匹配时,则停止重复,存储容量就是最终行地址乘以页面尺寸的结果。在后一种情况下,在每次页面读取操作之后执行页面检测程序。当页面检测程序返回一个不匹配时,停止重复,存储容量就是2倍最终行地址乘以页面尺寸的结果。
检测区块尺寸包括首先在列地址0和等于最小支持区块尺寸的行地址上写入多字节数据到NAND闪存装置,然后在列地址0和等于2倍其之前数值的行地址上重复写入相同数目字节的数据,直到行地址等于存储容量除以页面尺寸的结果。
下一个步骤是发出一个区块擦除命令到NAND闪存装置的列地址0和行地址0上。最终,在列地址0和等于2倍其之前数值的行地址上重复相同数目字节数据的读取数据操作,直到返回一个非空(non-empty)数据。从而区块尺寸等于最终行地址。
本发明的一个方面是使一个计算机处理器的系统启动指令能够存储在一个NAND闪存装置中并从中进行提取,因为使用本发明的NAND闪存参数自动检测过程,其接口参数可以被一个闪存控制器自动检测。
依照本发明的另一个方面,系统启动指令代码可以被预先加载和缓存到一个闪存控制器的内部随机存取存储器(RAM)内,能够在系统开启期间更快速地发送到一个计算机处理器。由于系统启动指令代码的尺寸通常比闪存控制器的内部RAM更大,在任何时间点都只有一部分系统启动指令代码被缓存。本发明代码预测算法能够预测下一个即将执行的是哪部分系统启动指令代码,预先提取这部分到缓存内,替代最近最少使用的或最不经常使用的当前占用代码。具体地,缓存被分成多页,每页加载一段系统启动指令代码。然后,当前正在执行的那一段会请求闪存控制器去预先提取即将要执行的其他段代码并加载入其它缓存分区。仅有一个分区将被替代,该分区保留的是非当前执行的一段启动指令代码。
【附图说明】
以下参照附图,将详细描述本发明的实施例,其中:
图1是一个典型电子或计算机系统的模块图,包括一个中央处理单元、一个闪存控制器、以及一个NAND闪存装置;
图2是整体系统启动过程流程图,该系统包括一个计算机处理器和一个NAND闪存,使用一个NAND闪存参数自动检测过程和一个代码预测算法;
图3是NAND闪存参数自动检测的高级别过程步骤的流程图;
图4是NAND闪存参数自动检测中的地址周期检测过程步骤流程图;
图5是NAND闪存参数自动检测中的页面尺寸检测过程步骤流程图;
图6是NAND闪存参数自动检测中的空闲尺寸检测过程步骤流程图;
图7是NAND闪存参数自动检测中的存储容量检测过程步骤流程图;
图8是NAND闪存参数自动检测中的区块尺寸检测过程步骤流程图;
图9显示系统启动指令代码的缓存管理顺序;
图10是硬件预先提取系统启动指令代码的过程步骤流程图;
图11是一个代码预测示例的模块图;和
图12是另一个代码预测示例的模块图(作为总体图,显示在两页中)。
【具体实施例】
在以下的描述里,作为优选实施例,将描述自动检测NAND闪存参数以及缓存系统启动指令的代码预测的系统和方法。对本领域技术人员来说,在不脱离本发明的范围和精神的情况下对其作出修改,包括增加和/或替换,这些将是显而易见的。为了不混淆本发明,一些具体细节将被省略。但是,本披露将使本领域技术人员无需过多经验就能够实施本教导。
参照图3,NAND闪存参数自动检测过程包括第一步骤301:重置闪存控制器。然后是步骤302:发出一个读取ID的闪存命令,闪存控制器尝试读取连接上的NAND闪存装置的装置标识码;仅在步骤303上返回一个有效的装置标识码数值(一个不同于0xFFFF的数值)时才继续进行。这是确保连接上了一个有效的NAND闪存装置。在这种情况下,闪存控制器继续检测连接上的NAND闪存装置的地址周期,包括区块类型(步骤305),页面尺寸(步骤306),空闲尺寸(步骤307),存储容量(步骤308上),以及区块尺寸(步骤309)。
图4描述了检测连接上的NAND闪存装置的地址周期和区块类型的子过程。该子过程包括步骤401:发出第一读取命令0x00到NAND闪存装置;步骤402:发出三个地址字节0x00、0x00和0x00到NAND闪存装置;步骤403:检测地址周期,包括监控来自NAND闪存装置的一个繁忙信号长达一个等待时间周期(t),其不小于最小等待时间(tWB)且不大于最大等待时间(tR);步骤404:如果在等待时间周期(t)内接收到繁忙信号(R/B=0),将地址周期记录为3,并将区块类型记录为“small(小)”;否则,继续步骤405:再次发出一个地址字节0x00到NAND闪存装置;步骤406:检测地址周期,包括监控来自NAND闪存装置的一个繁忙信号长达一个等待时间周期(t),其不小于最小等待时间(tWB)且不大于最大等待时间(tR);步骤407:如果在等待时间周期(t)内接收到繁忙信号(R/B=0),将地址周期记录为4,并将区块类型能够记录为“small(小)”;否则,继续步骤408:再次发出一个地址字节0x00到NAND闪存装置;步骤409:发出第二读取命令0x30到NAND闪存装置,最后到步骤410:将地址周期记录为5,并将区块类型记录为“large(大)”。
图5描述了检测NAND闪存装置的页面尺寸的子过程。该子过程包括步骤501:从一个页面的开头读取一个N字节的数据到一个临时数据容器内,其中是通过指向列地址0(0x00)而对页面开头进行存取,且N可以是1到最小支持页面尺寸(Pmin)之间的一个数字;步骤502:如果临时数据容器内没有空(empty)数据值(所有0xFF),则跳到步骤505;否则,继续步骤503:记录NAND闪存装置为空(blank),并将N字节的随机数据写入该页;步骤504:从同一位置读取相同数目字节的数据到临时数据容器内;步骤505:先给一个列地址计数器赋值为一个最小支持页面尺寸(Pmin)的2倍,并从页面的一个列地址(其等于列地址计数器)上开始读取N字节数据;在步骤506:与临时数据容器内的数据进行比较,如果它们相同,则继续步骤507、508,以及510:如果区块类型为small,则记录2倍的列地址计数器值作为页面尺寸,如果区块类型为large,则将第一列地址计数器值除以2记录为页面尺寸;否则继续步骤509:将列地址计数器翻倍,从该页面的等于列地址计数器的列地址上开始读取N字节数据,并从步骤506开始重复过程。
参照附图6,检测NAND闪存装置的空闲尺寸包括步骤601:根据NAND闪存装置的区块类型确定执行路径;如果区块类型为small,则执行从步骤603开始的以下分支:先给一个列地址计数器赋值为页面尺寸加上一个最小支持空闲尺寸(Smin)减去一个存储地址单元;步骤606:从页面上的等于列地址计数器的列地址上开始读取一个字节数据;步骤609和612:监控来自NAND闪存装置的繁忙信号长达一个等待时间周期(t),其不小于最小等待时间(tWB)且不大于最大等待时间(tR);如果在等待时间周期(t)内接收到繁忙信号(R/B=0),则将列地址记数器减去页面尺寸加上一个存储地址单元记录为空闲尺寸,步骤614;否则,如果在等待时间周期(t)内没有接收到繁忙信号,将列地址计数器递增一个存储地址单元,并从步骤606开始重复过程。另一方面,如果区块类型为large且NAND闪存装置非空,执行以下从步骤605开始的过程:将在NAND闪存装置的一个预设存储位置上读取的一个提取的闪存数据,记录为空闲尺寸。如果区块类型为large且NAND闪存装置为空,则执行以下从步骤604开始的分支:先给一个列地址计数器赋值为页面尺寸加上一个最小支持空余尺寸(Smin)减去一个存储地址单元,将一个Sbw字节的随机数据写入到一个页面,从等于列地址计数器的列地址上开始,其中Sbw等于最大支持空闲尺寸(Smax)减去最小支持空闲尺寸(Smin)加上一个存储地址单元;步骤607:读取刚刚写入到临时数据容器里的数据;步骤611:将列地址计数器递增一个存储地址单元,从页面上等于列地址计数器的列地址上开始读取一个字节;步骤613:与临时数据容器的相应字节进行比较;如果它们是相同的,则步骤615:将列地址计数器减去页面尺寸加上一个存储地址单元记录为空闲尺寸;否则从步骤611开始重复过程。
参照附图7,检测NAND闪存装置的存储容量从步骤701和702开始:根据NAND闪存装置的区块类型和地址周期确定执行路径;步骤703、704和705:从页面的开头和第一行地址上开始读取一个页面,其中对地址周期是3或4的samll区块类型,页面开头的列地址是0x00,对large区块类型,页面开头的列地址是0x0000,其中对地址周期是4的small区块类型,第一行地址是0x100000,对地址周期是3的则是0x1000,对large区块类型,第一行地址是0x010000;步骤706:执行一个页面检测子过程;如果该页面检测子过程产生一个数据匹配,则执行从步骤707开始的分支;否则,执行以下步骤708、710和712;步骤708:先给一个行地址计数器赋值为第一行地址,然后将行地址计数器翻倍,并从页面开头和第二行地址(其等于行地址计数器)上开始读取一个页面;如果在步骤710的页面检测子过程产生一个数据不匹配,则从步骤708开始重复过程;否则,在步骤712将行地址计数器数值乘以页面尺寸的结果记录为存储容量,从步骤707:先给一个行地址计数器赋值为第一行地址,将行地址计数器减半,并从页面开头和第二行地址(其等于行地址计数器)上开始读取一个页面,如果在步骤709的页面检测子过程产生一个数据匹配,则从步骤707开始重复过程;否则,在步骤711,如果地址周期为5,在步骤713,记录4作为地址周期,并在步骤714,将行地址计数器的数值的2倍乘以页面尺寸的结果记录为存储容量。
在步骤709和710的页面检测子过程包括步骤721:确定先前读取的数据是否与从页面列地址0和行地址0上开始读取的数据相同,如果不相同,则在步骤724返回一个数据不匹配的结果;否则,继续步骤722:在一个列地址(其等于页面尺寸加上空闲尺寸减去一个存储地址单元)和一个等于行地址计数器的行地址(其是页面的空闲存储空间上对应行地址计数器的最后字节)上开始,读取一个字节到临时数据容器内;在步骤723,如果临时数据容器里的数据不同于从页面上一个列地址(其等于页面尺寸加上空闲尺寸减去一个存储地址单元)和行地址0(其是页面的空闲存储空间上对应行地址0的最后字节)上开始读取的数据,则在步骤724返回一个数据不匹配的结果;否则,在步骤725返回一个数据匹配的结果。
参照附图8,检测NAND闪存装置的区块尺寸从步骤801开始,根据NAND闪存装置是否为空来确定执行路径;如果NAND闪存装置非空,则在步骤802和803将在NAND闪存装置的一个预设存储位置上读取的一个提取的闪存数据记录为区块尺寸;否则,执行以下路径:步骤804:先给一个行地址计数器赋值为最小支持的区块尺寸,写入一个N字节的随机数据到NAND闪存装置的列地址0和等于行地址计数器的行地址上,其中N是一个在1和页面尺寸之间的数字;步骤805:将行地址计数器翻倍;步骤807:检查行地址计数器是否等于存储容量除以页面尺寸;如果不相等,则写入N字节随机数据到NAND闪存装置,并从步骤805开始重复过程;步骤808:发出一个区块擦除命令到NAND闪存装置的列地址0和行地址0上;步骤809:给行地址计数器赋值为最小支持区块尺寸(Bmin),在列地址0和等于行地址计数器的行地址上开始读取N字节数据到一个临时数据容器里;步骤810:检查临时数据容器是否持有空数据值(所有0xFF);如果不持有,则在步骤811记录行地址计数器作为区块尺寸;否则步骤812:将行地址计数器翻倍,在列地址0和等于行地址计数器的行地址上开始读取相同N字节数据到临时文件容器内,然后从步骤810开始重复过程。
系统启动指令代码可以被预先加载和被缓存在闪存控制器的内部随机存取存储器(RAM)里,如图1所示的使用一组SRAM 104的示例实施,以便在系统启动期间更快速地发送到计算机处理器。由于系统启动指令代码所需的存储空间通常比闪存控制器的内部RAM更大,因此在任何时间点仅有一部分系统启动指令代码能被缓存。
代码预测算法将预测系统启动指令代码的哪一部分将被紧急执行,并预先提取该部分存入缓存内,代替最近最少存取或最不经常存取的当前占用代码。缓存被分成页,每页加载一段系统启动指令代码。然后,当前执行的该段将请求闪存控制器预先提取并载入即将紧急执行的其它段到其它缓存分区。仅有一个分区被代替,即包含一段不是当前执行的启动指令代码。
图11是描述一个代码预测算法典型实施例的模块图。闪存控制器的内部RAM,充当缓存储存器,被分成两页。系统启动指令代码包括4段,并且执行次序是Section 1被首先执行,接着是Section 2,然后是3,然后2,然后3,最后以2结束。代码段执行次序的信息可以被散置在代码内,使得当有执行次序信息的一个代码段正被执行时,处理器能够指示闪存控制器预先提取下一个代码段。如模块1100所示,缓存存储器首先载入Section 1到顶页。Section 1的执行将显示下一个将执行Section 2,并指示闪存控制器预先提取Section 2到缓存存储器的底页,如模块1102所示。当Section 2正被执行,Section 3将被预先提取到顶页内,取代闲置的Section 1,如模块1104所示。由于预测除了2和3没有其它段即将被紧急执行,预先提取将被暂停,如模块1106所示。
图12是描述代码预测算法另一个典型实施例的模块图。在此,缓存存储器被分成8页。取代特定页里的内容的优先次序是基于与每页相关的2个页面取代政策:
F[x]和R[x],其中x是相关的特定页。
每次页x里的数据或代码被存取或执行,则F[x]递增1。
在每个时间间隔t,R[x]递增1。一旦每次存取页x,R[x]重置为0。因此,F[x]表示页x的存取频率。相对其它页,该数字越低,当一个新代码段将被缓存时,页x将被替换为新内容的可能性就越大。另一方面,R[x]表示页x最近被存取有多久了。相对其它页,该数字越大,表示页x最近很少被存取,当一个新代码段将被缓存时,页x更可能将被替换为新内容。
依照本发明教导,使用通用或专用计算装置、计算机处理器、或电子电路,其包括但不限于数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程栅极阵列(FPGA)、以及其它可编程逻辑装置,可以实施在此披露的本发明。基于本发明的教导,软件或电子领域内的分区程序员能够很容易地准备在通用或专用计算装置、计算机处理器、或可编程逻辑装置上运行的计算机指令或软件代码。
在一些实施例里,本发明包括一个计算机存储媒介,存有计算机指令或软件代码,其可以被用来编程计算机或微处理器以执行本发明的任何过程。该存储媒介可以包括但不限于软盘、光碟、蓝光光盘、DVD、CD-ROM、以及磁光光盘、ROMs、RAMs、闪存装置、或能够存储指令、代码和/或数据的任何类型的媒介或装置。
以上对本发明的详细描述是为了进行说明和叙述。并不是穷尽式的描述或者限制本发明于所披露的确切形式。许多修改和改变对本领域技术人员而言是显而易见的。
所选择并描述的实施例是为了更好地解释本发明原理及其实际应用,从而使本领域技术人员能够理解本发明有各种实施例,并能够对其作出适合特定使用的各种修改。本发明范围是由所附权利要求及其等同物定义。

Claims (16)

1.一种检测多个NAND闪存装置参数的计算机处理器可实施的系统,包括:
装置标识符读取装置,读取NAND闪存装置的装置标识符,如果返回一个有效装置标识符,则依照以下特定次序检测目标NAND闪存装置;
地址周期和区块类型检测装置,检测NAND闪存装置的地址周期和区块类型,包括:发出读取命令和一定数目字节的存储地址到目标NAND闪存装置;监控来自目标NAND闪存装置的繁忙信号;根据在接收到繁忙信号之前就已经发出的一定数目字节的存储地址来确定地址周期和区块类型;
页面尺寸检测装置,检测NAND闪存装置的页面尺寸;
空闲尺寸检测装置,检测NAND闪存装置的空闲尺寸;
存储容量检测装置,检测NAND闪存装置的存储容量;和
区块尺寸检测装置,检测NAND闪存装置的区块尺寸。
2.根据权利要求1所述的系统,其中所述检测NAND闪存装置的地址周期和区块类型包括:
(1)发出第一读取命令到NAND闪存装置;
(2)发出三个地址字节到NAND闪存装置;
(3)监控NAND闪存装置的繁忙信号长达一个等待时间周期,其不小于最小等待时间且不大于最大等待时间;
(4)如果在等待时间周期内接收到繁忙信号,将地址周期记录为3,以及将区块类型记录为小(small);
(5)否则,再次发出一个地址字节到NAND闪存装置,并监控来自NAND闪存装置的繁忙信号长达一个等待时间周期;
(6)如果在等待时间周期内接收到繁忙信号,将地址周期记录为4,以及将区块类型记录为小(small);
(7)否则,再次发出一个地址字节到NAND闪存装置,发出第二读取命令到NAND闪存装置,并将地址周期记录为5,将区块类型记录为大(large)。
3.根据权利要求1所述的系统,其中所述检测NAND闪存装置的页面尺寸包括:
(1)从开始的页面开头读取第一数目字节的数据到第一临时数据容器内;
(2)如果第一临时数据容器持有空数据值,则记录NAND闪存装置为空,将第一数目字节的随机数据写入到该页面,并从页面读取第一数目字节的数据到第一临时数据容器内;
(3)先给第一列地址计数器赋值为最小支持页面尺寸的两倍;
(4)从该页面在等于第一列地址计数器的第一列地址上开始读取第一数目字节的数据,并与第一临时数据容器内的数据进行比较;
(5)如果它们相同,当区块类型为小时,将第一列地址计数器值乘以2记录为页面尺寸,当区块类型为大时,将第一列地址计数器值除以2记录为页面尺寸;
(6)否则,将第一列地址计数器赋值为其现有数值的2倍,并从以上(4)开始重复过程。
4.根据权利要求1所述的系统,其中所述检测NAND闪存装置的空闲尺寸包括:
(1)如果NAND闪存装置的区块类型为小,则执行以下步骤:
(i)先给第二列地址计数器赋值为页面尺寸加上一个最小支持空闲尺寸并减去一个存储地址单元,
(ii)从页面上等于第二列地址计数器的第二列地址开始读取第二数目字节的数据,
(iii)监控NAND闪存装置的繁忙信号长达一个等待时间周期,其不小于最小等待时间且不大于最大等待时间,
(iv)如果在等待时间周期内接收到繁忙信号,将第二列地址计数器减去页面尺寸加上一个存储地址单元记录为空闲尺寸,
(v)否则,如果在等待时间周期内没有收到繁忙信号,则将第二列地址计数器递增一个存储地址单元,并从以上(1)(ii)开始重复过程;
(2)否则,如果NAND闪存装置不为空,则将在NAND闪存装置的一个预设存储位置上所读取的一个提取的闪存数据,记录为空闲尺寸;
(3)否则,如果区块类型是大且如果NAND闪存装置为空,执行以下步骤:
(i)先给第三列地址计数器赋值为页面尺寸加上一个最小支持空闲尺寸减去一个存储地址单元,
(ii)将第三数目字节的随机数据写入到一个页面的等于第三列地址计数器的第三列地址上,其中第三数目字节等于最大支持空闲尺寸减去最小支持空闲尺寸加上一个存储地址单元,
(iii)从页面上等于第三列地址计数器的第三列地址上开始,读取第三数目字节的数据到第二临时数据容器内,
(iv)将第三列地址计数器递增一个存储地址单元,
(v)从页面上等于第三列地址计数器的第三列地址上开始,读取一个字节,并与第二临时数据容器里的相应字节进行比较,
(vi)如果它们相同,则将第三列地址计数器减去页面尺寸加上一个存储地址单元,记录为空闲尺寸,
(vii)否则,将第三列地址计数器递增一个存储地址单元,并从以上(3)(v)开始重复过程。
5.根据权利要求1所述的系统,其中所述检测NAND闪存装置的存储容量包括:
(1)从页面开头和第一行地址开始读取一个页面;
(2)执行一个页面检测子过程;
(3)如果页面检测子过程产生一个数据匹配,则从以下(5)继续执行过程;
(4)执行以下步骤:
(i)先给第一行地址计数器赋值为第一行地址,
(ii)将第一行地址计数器翻倍,
(iii)从页面开头和等于第一行地址计数器的第二行地址上开始,读取一个页面,
(iv)执行页面检测子过程,
(v)如果页面检测子过程产生一个数据不匹配,则从以上(4)(ii)开始重复过程,
(vi)否则,将第一行地址计数器乘以页面尺寸的数值结果,记录为存储容量;
(5)否则,执行以下步骤:
(i)先给第一行地址计数器赋值为第一行地址,
(ii)将第一行地址计数器减半,
(iii)从页面开头和等于第一行地址计数器的第二行地址上开始,读取一个页面,
(iv)执行页面检测子过程,如果页面检测子过程产生一个数据匹配,则从以上(5)(ii)开始重复过程,
(v)否则如果地址周期为5,则记录4作为地址周期,和
(vi)将第一行地址计数器的2倍乘以页面尺寸的数值结果,记录作为存储容量。
6.根据权利要求5所述的系统,其中所述页面检测子过程包括:
(1)如果之前读取的数据不同于从一个页面的列地址0和行地址0上开始所读取的数据,则返回一个数据不匹配的结果;
(2)否则,从等于页面尺寸加上空闲尺寸减去一个存储地址单元的列地址上以及等于第一行地址计数器的行地址上开始,读取一个字节到第三临时数据容器内;
(3)如果第三临时数据容器内的数据不同于从一个页面的空闲存储空间上的等于页面尺寸加上空闲尺寸减去一个存储地址单元的列地址上和行地址0上开始所读取的数据,则返回一个数据不匹配的结果;
(4)否则,返回一个数据匹配的结果。
7.根据权利要求1所述的系统,其中所述检测NAND闪存装置的区块尺寸包括:
(1)如果NAND闪存装置不为空,则将在NAND闪存装置的预设存储位置上读取的一个提取的闪存数据,记录为区块尺寸;
(2)否则,执行以下步骤:
(i)先给第二行地址计数器赋值为最小支持区块尺寸,
(ii)将第四数目字节的随机数据写入到NAND闪存装置的列地址0和等于第二行地址计数器的第三行地址上,
(iii)将第二行地址计数器翻倍,
(iv)如果第二行地址计数器不等于存储容量除以页面尺寸,则从以上(2)(ii)开始重复过程,
(v)发出一个区块擦除命令到NAND闪存装置的列地址0和行地址0上,
(vi)先给第二行地址计数器赋值为最小支持区块尺寸,
(vii)从列地址0和等于第二行地址计数器的第三行地址上开始,读取第四数目字节的数据到第四临时数据容器,
(viii)如果第四临时数据容器没有空数据值,则将第二行地址计数器记录为区块尺寸,
(ix)否则,给第二行地址计数器赋值为其现有数值的2倍,并从以上(2)(vii)开始重复过程;
其中第四数目字节等于或大于1,但等于或小于页面尺寸。
8.根据权利要求1所述的系统,所述NAND闪存参数检测过程还包括:
存储所述地址周期、所述区块类型、所述页面尺寸、所述空闲尺寸、和所述区块尺寸在一个缓存内。
9.一种检测多个NAND闪存装置参数的计算机处理器可实施的方法,包括:
读取NAND闪存装置的装置标识符,如果返回一个有效装置标识符,则依照以下特定次序检测目标NAND闪存装置;
检测NAND闪存装置的地址周期和区块类型,包括:发出读取命令和一定数目字节的存储地址到目标NAND闪存装置;监控来自目标NAND闪存装置的繁忙信号;根据在接收到繁忙信号之前就已经发出的一定数目字节的存储地址来确定地址周期和区块类型;
检测NAND闪存装置的页面尺寸;
检测NAND闪存装置的空闲尺寸;
检测NAND闪存装置的存储容量;和
检测NAND闪存装置的区块尺寸。
10.根据权利要求9所述的方法,其中所述检测NAND闪存装置的地址周期和区块类型包括:
(1)发出第一读取命令到NAND闪存装置;
(2)发出3个地址字节到NAND闪存装置;
(3)监控NAND闪存装置的繁忙信号长达一个等待时间周期,其不小于最小等待时间且不大于最大等待时间;
(4)如果在等待时间周期内接收到繁忙信号,将地址周期记录为3,且将区块类型记录为小;
(5)否则,再次发出一个地址字节到NAND闪存装置,并监控NAND闪存装置的繁忙信号长达一个等待时间周期;
(6)如果在等待时间周期期间接收到繁忙信号,将地址周期记录为4,并将区块类型记录为小;
(7)否则,再次发出一个地址字节到NAND闪存装置,发出第二读取命令到NAND闪存装置,并将地址周期记录为5,将区块类型记录为大。
11.根据权利要求9所述的方法,其中所述检测NAND闪存装置的页面尺寸包括:
(1)从一个页面的开头开始读取第一数目字节的数据到第一临时数据容器内;
(2)如果第一临时数据容器持有空数据值,则记录NAND闪存装置为空,将第一数目字节的随机数据写入到该页面,并从该页面读取第一数目字节的数据到第一临时数据容器内;
(3)先给第一列地址计数器赋值为一个最小支持页面尺寸的2倍;
(4)从页面上等于第一列地址计数器的第一列地址上开始读取第一数目字节的数据,并与第一临时数据容器内的数据进行比较;
(5)如果它们相同,则在区块类型为小时,将第一列地址计数器乘以2记录为页面尺寸,在区块类型为大时,将第一列地址计数器除以2记录为页面尺寸;
(6)否则,给第一列地址计数器赋值为其现有数值的2倍,并从以上(4)开始重复过程。
12.根据权利要求9所述的方法,其中所述检测NAND闪存装置的空闲尺寸包括:
(1)如果NAND闪存装置的区块类型为小,则执行以下步骤:
(i)先给第二列地址计数器赋值为页面尺寸加上一个最小支持空闲尺寸减去一个存储地址单元,
(ii)从页面上等于第二列地址计数器的第二列地址开始,读取第二数目字节的数据,
(iii)监控来自NAND闪存装置的繁忙信号长达一个等待时间周起,其不小于最小等待时间且不大于最大等待时间,
(iv)如果在等待时间周期内接收到繁忙信号,将第二列地址计数器减去页面尺寸加上一个存储地址单元,记录为空闲尺寸,
(v)否则如果在等待时间周期内没有收到繁忙信号,则将第二列地址计数器递增一个存储地址单元,并从以上(1)(ii)开始重复过程;
(2)否则,如果NAND闪存装置为非空,则在NAND闪存装置的一个预设存储位置上读取一个提取的闪存数据,记录为空闲尺寸;
(3)否则,当区块类型为大且NAND闪存装置为空时,则执行以下步骤:
(i)先给第三列地址计数器赋值为页面尺寸加上一个最小支持空闲尺寸减去一个存储地址单元,
(ii)将第三数目字节的随机数据写入到页面上等于第三列地址计数器的第三列地址上,其中第三数目字节等于一个最大支持空闲尺寸减去最小支持空闲尺寸加上一个存储地址单元,
(iii)从页面上等于第三列地址计数器的第三列地址上开始读取第三数目字节的数据到第二临时数据容器内,
(iv)将第三列地址计数器递增一个存储地址单元,
(v)从页面上等于第三列地址计数器的第三列地址上开始读取一个字节,并与第二临时数据容器里的一个相应字节进行比较,
(vi)如果它们相同,则将第三列地址计数器减去页面尺寸加上一个尺寸地址单元,记录为空闲尺寸,
(vii)否则,将第三列地址计数器递增一个存储地址单元,并从以上(3)(vi)开始重复过程。
13.根据权利要求9所述的方法,其中所述检测NAND闪存装置的存储容量包括:
(1)在页面开头和第一行地址上开始读取一个页面;
(2)执行页面检测子过程;
(3)如果页面检测子过程产生一个数据匹配,则从以下(5)开始执行步骤;
(4)执行以下步骤:
(i)先给第一行地址计数器赋值为第一行地址,
(ii)将第一行地址计数器翻倍,
(iii)在页面开头和等于第一行地址计数器的第二行地址上开始读取一个页面,
(iv)执行页面检测子过程,
(v)如果页面检测子过程产生一个数据不匹配,则从以上(4)(ii)开始执行过程,
(vi)否则,将第一行地址计数器乘以页面尺寸的数值结果记录为存储容量;
(5)否则,执行以下步骤:
(i)先给第一行地址计数器赋值为第一行地址,
(ii)将第一行地址计数器减半,
(iii)在页面开头和等于第一行地址计数器的第二行地址上开始读取一个页面到第四临时数据容器内,
(iv)执行页面检测子过程,如果页面检测子过程产生一个数据匹配时,从以上(5)(ii)开始重复过程,
(v)否则,如果地址周期为5,则将地址周期记录为4,和
(vi)将第一行地址计数器的2倍乘以页面尺寸记录为存储容量。
14.根据权利要求13所述的方法,其中所述页面检测子过程包括:
(1)如果先前读取的数据不同于从页面上列地址0和行地址0上开始读取的数据,则返回一个数据不匹配的结果;
(2)否则,从一个列地址和一个行地址上开始读取一个字节,读入到第三临时数据容器里;该列地址等于页面尺寸加上空闲尺寸减去一个存储地址单元,该行地址等于第一行地计数器;
(3)如果在第三临时数据容器里的数据不同于从一个页面的空余存储空间上的等于页面尺寸加上空闲尺寸减去一个存储地址单元的列地址和行地址0上开始读取的数据,则返回一个数据不匹配的结果;
(4)否则,返回一个数据匹配的结果。
15.根据权利要求9所述的方法,其中所述确定NAND闪存装置的区块尺寸包括:
(1)如果NAND闪存装置非空,则将在NAND闪存装置的一个预设存储器位置上读取的一个提取的闪存数据记录为区块尺寸;
(2)否则,执行以下步骤:
(i)先给第二行地址计数器赋值为最小支持区块尺寸,
(ii)将4个字节的随机数据写入到NAND闪存装置的列地址0和等于第二行地址计数器的第三行地址上,
(iii)将第二行地址计数器翻倍,
(iv)如果第二行地址计数器不等于存储容量除以页面尺寸,则从(2)(ii)开始重复过程,
(v)发出一个区块擦除命令到NAND闪存装置的列地址0和行地址0上,
(vi)给第二行地址计数器赋值为最小支持区块尺寸;
(vii)将在列地址0和等于第二行地址计数器的第三行地址上开始的4个字节数据读入到第四临时数据容器里,
(viii)如果第四临时数据容器不持有空数据值,则记录第二行地址计数器为区块尺寸,
(ix)否则,给第二行地址计数器赋值为其现有数值的2倍,并从以上(2)(vii)开始重复过程;
其中4个字节等于或大于1但等于或小于页面尺寸。
16.根据权利要求9所述的方法,还包括:
存储所述地址周期、所述区块类型、所述页面尺寸、所述空闲尺寸和所述区块尺寸在一个缓存里。
CN201010564749.0A 2010-11-01 2010-11-29 Nand闪存参数自动检测系统 Active CN102063943B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/916,652 US8417880B2 (en) 2010-11-01 2010-11-01 System for NAND flash parameter auto-detection
US12/916,652 2010-11-01

Publications (2)

Publication Number Publication Date
CN102063943A CN102063943A (zh) 2011-05-18
CN102063943B true CN102063943B (zh) 2014-06-25

Family

ID=43999178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010564749.0A Active CN102063943B (zh) 2010-11-01 2010-11-29 Nand闪存参数自动检测系统

Country Status (2)

Country Link
US (1) US8417880B2 (zh)
CN (1) CN102063943B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012101761A1 (ja) * 2011-01-25 2012-08-02 富士通株式会社 システム、およびデータロード方法
TWI537826B (zh) * 2011-05-05 2016-06-11 聯詠科技股份有限公司 主晶片開機方法
CN102984418A (zh) * 2011-09-06 2013-03-20 株式会社东芝 图像形成装置以及数据管理方法
CN103247339B (zh) * 2012-02-10 2017-04-12 晶豪科技股份有限公司 用于非易失性半导体存储元件的编程方法
US8886874B1 (en) 2013-06-24 2014-11-11 Freescale Semiconductor, Inc. System and method for low-latency addressing in flash memory
KR102187524B1 (ko) 2014-02-13 2020-12-07 삼성전자주식회사 비휘발성 메모리 장치 및 이의 동작 방법
US9502118B2 (en) * 2014-09-26 2016-11-22 Intel Corporation NAND memory addressing
CN106250050B (zh) 2015-06-10 2021-02-05 恩智浦美国有限公司 用于数据传输中的实时空白页检测的方法和装置
KR20170051563A (ko) * 2015-10-29 2017-05-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN105760266B (zh) * 2016-02-24 2019-09-03 深圳芯邦科技股份有限公司 一种基于Nand Flash内存的移动设备容量检测方法
CN108108185B (zh) * 2018-01-12 2022-01-11 湖南国科微电子股份有限公司 一种固态硬盘量产工具配置方法
US10635609B2 (en) 2018-03-02 2020-04-28 Samsung Electronics Co., Ltd. Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD
US10990554B2 (en) 2018-03-02 2021-04-27 Samsung Electronics Co., Ltd. Mechanism to identify FPGA and SSD pairing in a multi-device environment
CN109036494A (zh) * 2018-07-20 2018-12-18 江苏华存电子科技有限公司 一种快速检测闪存瑕疵的方法
US11782727B2 (en) 2020-05-29 2023-10-10 Micron Technology, Inc. Read prediction during a system boot procedure
US11416263B1 (en) 2021-02-12 2022-08-16 Western Digital Technologies, Inc. Boosted boot procedure by background re-arrangement of read patterns
TWI779610B (zh) * 2021-05-17 2022-10-01 瑞昱半導體股份有限公司 偵測快閃記憶體模組的方法及相關的系統晶片
CN113345510B (zh) * 2021-06-29 2022-06-10 珠海一微半导体股份有限公司 一种flash的容量识别方法及容量识别系统
CN115129629B (zh) * 2022-09-01 2022-12-02 珠海普林芯驰科技有限公司 具有双闪存芯片的带宽扩展方法、计算机装置和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101162449A (zh) * 2007-10-08 2008-04-16 福州瑞芯微电子有限公司 Nand flash控制器及其与nand flash芯片的数据交互方法
CN102402485A (zh) * 2010-09-16 2012-04-04 安凯(广州)微电子技术有限公司 Nandflash参数探测方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026027A (en) 1994-01-31 2000-02-15 Norand Corporation Flash memory system having memory cache
US6629207B1 (en) * 1999-10-01 2003-09-30 Hitachi, Ltd. Method for loading instructions or data into a locked way of a cache memory
US7657696B2 (en) 2005-02-25 2010-02-02 Lsi Corporation Method to detect NAND-flash parameters by hardware automatically
US8171192B2 (en) 2005-09-20 2012-05-01 Qualcomm Incorporated Hardware-assisted device configuration detection
US7493447B2 (en) 2006-05-03 2009-02-17 Nuvoton Technology Corporation System and method for caching sequential programs
US7873779B2 (en) 2007-05-14 2011-01-18 Qualcomm Incorporated Memory page size auto detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101162449A (zh) * 2007-10-08 2008-04-16 福州瑞芯微电子有限公司 Nand flash控制器及其与nand flash芯片的数据交互方法
CN102402485A (zh) * 2010-09-16 2012-04-04 安凯(广州)微电子技术有限公司 Nandflash参数探测方法

Also Published As

Publication number Publication date
CN102063943A (zh) 2011-05-18
US20120110241A1 (en) 2012-05-03
US8417880B2 (en) 2013-04-09

Similar Documents

Publication Publication Date Title
CN102063943B (zh) Nand闪存参数自动检测系统
US10248592B2 (en) Interrupted write operation in a serial interface memory with a portion of a memory address
US8291155B2 (en) Data access method, memory controller and memory storage system
US8312554B2 (en) Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus
US8837248B2 (en) Non-volatile memory storage apparatus, memory controller and data storing method
JP5002201B2 (ja) メモリシステム
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
US8886884B2 (en) System and method for increasing read and write speeds of hybrid storage unit
CN106462500A (zh) 用于执行损耗均衡操作的设备及方法
KR20170118594A (ko) 가비지 컬렉션에 대한 유효성 추적
US7564721B2 (en) Method and apparatus for improving storage performance using a background erase
CN101901189B (zh) 更新用户数据的方法以及恢复用户数据的方法
US20100318760A1 (en) Memory controller, nonvolatile storage device, and nonvolatile storage system
CN101911207A (zh) 半导体存储装置、控制装置、控制方法
US20090037646A1 (en) Method of using a flash memory for a circular buffer
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
CN101763309A (zh) 非易失性存储装置、信息记录系统及信息记录方法
CN108431783A (zh) 访问请求处理方法、装置及计算机系统
US9389998B2 (en) Memory formatting method, memory controller, and memory storage apparatus
CN115951839A (zh) 分区命名空间固态硬盘的数据写入方法、装置及电子设备
CN108733318A (zh) 一种tlc nand flash固态硬盘的写入方法
CN107203341A (zh) 基于闪存的数据存储方法、装置以及闪存芯片
CN109408416A (zh) 一种地址映射表项页管理方法及装置
JP2008084184A (ja) メモリコントローラ
US8832358B2 (en) Data writing method, memory controller and memory storage apparatus

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