CN101346771B - 用于传统主机的方法和存储器系统 - Google Patents

用于传统主机的方法和存储器系统 Download PDF

Info

Publication number
CN101346771B
CN101346771B CN2006800434536A CN200680043453A CN101346771B CN 101346771 B CN101346771 B CN 101346771B CN 2006800434536 A CN2006800434536 A CN 2006800434536A CN 200680043453 A CN200680043453 A CN 200680043453A CN 101346771 B CN101346771 B CN 101346771B
Authority
CN
China
Prior art keywords
memory
legacy
group
storer
main frame
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.)
Expired - Fee Related
Application number
CN2006800434536A
Other languages
English (en)
Other versions
CN101346771A (zh
Inventor
丹尼尔·C·古特曼
约拉姆·锡达
查尔斯·施罗特
米尔顿·洛伦索·巴罗卡斯
卡洛斯·冈萨雷斯
凯文·M·康利
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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Corp
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
Priority claimed from US11/285,992 external-priority patent/US7747927B2/en
Application filed by SanDisk Corp filed Critical SanDisk Corp
Priority claimed from PCT/US2006/060932 external-priority patent/WO2007062307A2/en
Publication of CN101346771A publication Critical patent/CN101346771A/zh
Application granted granted Critical
Publication of CN101346771B publication Critical patent/CN101346771B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

本发明提供一种非易失性存储器装置,其具备控制器且包括控制存储器操作并仿真传统存储器装置的存储器和通信特征的方法。以此方式,所述存储器装置与最初经设计以操作所述传统存储器装置的主机兼容。具体来说,所述控制器执行对所述主机的仿真,其考虑到例如多位存储器、错误校正需求、覆写的存储器支持和可擦除的区块大小等差异。

Description

用于传统主机的方法和存储器系统
技术领域
本发明大体来说涉及非易失性半导体存储器,且具体来说,本发明涉及那些与传统主机向下兼容的非易失性半导体存储器,所述传统主机最初经设计以与双态和具有较小的区块大小的存储器工作。
背景技术
能够非易失性地存储电荷的固态存储器(特定来说,呈被封装为具小形状因数的卡的EEPROM和快闪EEPROM的形式)近来已成为各种移动装置和手持式装置、著名的信息用具和消费者电子产品中选出的存储器。不同于也为固态存储器的RAM(随机存取存储器),快闪存储器为非易失性存储器,且甚至在电源被切断后仍保持其存储的数据。而且,不同于ROM(只读存储器),快闪存储器类似于磁盘存储装置而可重写。尽管与磁盘驱动器相比具有较高成本,快闪存储器正越来越多地用于大容量存储应用中。基于例如硬盘驱动器和软盘的旋转磁性媒体的常规大量存储器不适合用于移动和手持式环境。这是因为趋于笨重的磁盘驱动器倾向于发生机械故障且具有高等待时间和高功率需求。这些不良属性使基于磁盘的存储装置在大多数移动和便携式应用中变得不实用。另一方面,快闪存储器(嵌入式和呈可移除卡的形式两者)由于其小尺寸、低功率消耗、高速和高可靠性的属性而理想上适合于移动和手持式环境中。
快闪EEPROM类似于EEPROM(电可擦除和可编程只读存储器)是因为其为非易失性存储器,其可被擦除且具有被写入或“编程”在其存储器单元中的新数据。快闪EEPROM与EEPROM两者均通常使用场效晶体管结构中的浮动(未连接)导电栅极,其定位在半导体衬底的沟道区上且在源极区与漏极区之间。接着将控制栅极提供在所述浮动栅极上。所述晶体管的阈值电压特征由浮动栅极上保持的电荷量来控制。即,对于浮动栅极上的给定电荷电平来说,存在对应电压(阈值),其在晶体管被“接通”前必须施加到控制栅极以允许其源极区与漏极区之间的导通。具体来说,例如快闪EEPROM的快闪存储器允许同时擦除存储器单元的全部区块。
浮动栅极可保持一定电荷范围且因此所述浮动栅极可被编程到阈值电压窗内的任何阈值电压电平。所述阈值电压窗的大小由所述装置的最小阈值电平和最大阈值电平定界,所述最小阈值电平和所述最大阈值电平又对应于可被编程到所述浮动栅极上的电荷范围。阈值窗通常取决于存储器装置的特征、操作条件和历史。所述窗内的每一不同、可分辨的阈值电压电平范围原则上可用于表示单元的明确的存储器状态。
通常通过两个机制中的一者而将充当存储器单元的晶体管编程到“编程”状态。在“热电子注入”中,施加到漏极的高电压使电子加速越过衬底沟道区。同时,施加到控制栅极的高电压使热电子穿过薄栅极介电质到浮动栅极上。在“穿隧注入”中,相对于衬底而将高电压施加到控制栅极。以此方式,电子从衬底被拉到介入浮动栅极。虽然在历史上已使用术语“编程”来描述通过将电子注入到存储器单元的最初被擦除的电荷存储单元而写入到存储器以便改变存储器状态,但其现已与例如“写入”或“记录”的更一般的术语可互换地使用。
可通过许多机制来擦除存储器装置。对于EEPROM来说,存储器单元可电擦除,此通过相对于控制栅极将高电压施加到衬底以便引诱浮动栅极中的电子穿隧通过薄氧化物到达衬底沟道区(即,Fowler-Nordheim穿隧)来实现。通常,EEPROM可逐字节地擦除。对于快闪EEPROM来说,可同时全部电擦除存储器,或可一次电擦除一个或一个以上最小可擦除区块,其中最小可擦除区块可由一个或一个以上扇区组成,且每一扇区可存储512个字节或更多的数据。
所述存储器装置通常包含一个或一个以上可安装于卡上的存储器芯片。每一存储器芯片包含由例如解码器和擦除、写入和读取电路的周边电路支撑的存储器单元阵列。更复杂的存储器装置也与控制器一起提供,所述控制器执行智能和更高水平的存储器操作和介接。
存在许多现在正使用的商业成功的非易失性固态存储器装置。这些存储器装置可为快闪EEPROM或可利用其它类型的非易失性存储器单元。在美国专利第5,070,032号、第5,095,344号、第5,315,541号、第5,343,063号以及第5,661,053号、第5,313,421号和第6,222,762号中给出了快闪存储器以及制造其的系统和方法的实例。具体来说,在美国专利第5,570,315号、第5,903,495号、第6,046,935号中描述了具有NAND串结构的快闪存储器装置。而且,也从具有用于存储电荷的介电层的存储器单元制造非易失性存储器装置。使用介电层来代替早先所描述的导电性浮动栅极元件。使用介电存储元件的这些存储器装置已由艾坦(Eitan)等人在“NROM:新颖的局部化捕集,2位非易失性存储器单元(NROM:A Novel Localized Trapping,2-Bit Nonvolatile Memory Cell)”(IEEEElectron Device Letters,第21卷,第11号,2000年11月,第543-545页)中进行了描述。ONO介电层延伸越过源极扩散区与漏极扩散区之间的沟道。用于一个数据位的电荷定位在邻近于漏极的介电层中,且用于其它数据位的电荷定位在邻近于源极的介电层中。举例来说,美国专利第5,768,192号和第6,011,725号揭示了具有夹在两个二氧化硅层之间的捕集介电质的非易失性存储器单元。通过独立地读取介电质内的空间上独立的电荷存储区的二进制状态来实施多态数据存储。
早先若干代快闪存储器的特征在于较低的存储器集成度,每一存储器元件(例如,单元)存储一位的数据,且具有具较小擦除区块大小的架构。这些传统存储器装置要求相对简单的存储器管理和数据操纵。当体现为可移除存储器卡时,这些传统存储器装置通常通过简单的存储器控制器来控制。为节省成本,通常将所述简单存储器控制器实施为经设计以与特定传统存储器装置一起操作的传统主机系统上的软件驱动器。传统主机系统与其可移除存储器装置之间的接口如简单存储器控制器所要求般那样基本。
每一代快闪存储器经历了存储器容量的增加和更高的性能。存储器容量可随着半导体技术中大规模集成度的增加而增加,且也可随着多态存储器(其中每一存储器元件存储一个以上位的数据)的实施而增加。
为改进读取和编程性能,并行读取或编程阵列中的多个电荷存储元件或存储器晶体管。因此,共同读取或编程一“页”存储器元件。在现有存储器架构中,一个行通常含有若干个交错页或其可构成一页。将共同读取或编程一页的所有存储器元件。
在快闪存储器系统中,每一操作可比读取操作和编程操作长多达一个数量级。因此,需要具有显著大小的擦除区块。以此方式,擦除时间分摊在大量存储器单元中。
快闪存储器的性质预测通常必须将数据写入到擦除存储器位置。如果将更新来自主机的某一逻辑地址的数据,则一种方式为将更新数据重写在同一物理存储器位置中。即,逻辑到物理地址的映射未改变。然而,此将意味将不得不首先擦除含有那个物理位置的整个擦除区块且接着以更新的数据对其进行重写。此更新方法是无效的,因为其需要擦除并重写整个擦除区块,尤其在待更新的数据仅占用所述擦除区块的一小部分时。其也将导致存储器区块的更高频率的擦除再循环,鉴于此类型的存储器装置的有限耐用性,此为不合需要的。
因此,读取、编程和擦除的粒度可随着不同代的存储器技术而改变。类似地,存储器也可从双态发展到多态,从而需要不同的读取和编程技术以及更先进的错误校正机制。总之,较后代的存储器可能未必与经设计以与较早代的存储器一起操作的传统主机兼容。
另一方面,存在大量现有的经设计以与较早代的存储器装置一起工作的电子和计算装置。这些传统主机通常通过简单存储器接口而与含有存储器单元阵列的可移除存储器卡一起工作。所述存储器单元被组织成具有相对较小大小的可擦除区块,其中每一单元仅存储一个位的数据。不同于新近代的那些存储器装置,这些传统存储器装置并不与其自身的智能存储器控制器一起提供。因此,借助于主机处理器对主机侧执行所需的少量存储器区块管理。为此,这些传统主机经设计以仅与特定代的存储器装置一起工作,且其接口针对给定存储器系统的硬件特征而加以定制。
将需要使用最新存储器技术来生产用于这些传统主机的存储器装置而不管存储器架构、控制和操作的差异,借此获得高集成度、高容量和低成本的益处。
发明内容
一种具有第一组存储器和通信特征的非易失性存储器装置具备控制器,所述控制器的功能包括提供接口和仿真具有第二组存储器和通信特征的传统存储器装置的方法。以此方式,所述存储器装置与最初经设计以与所述传统存储器装置一起工作的传统主机兼容。所述接口解决存在于第一组存储器和通信特征与第二组存储器和通信特征之间的至少一差异,所述至少一差异选自基本上由错误校正码、存储器区块大小、每一存储器单元中所存储的位数目和状态信息组成的群组。
根据本发明的一方面,非传统存储器装置经调适以与传统主机一起操作,所述传统主机最初经设计以处理传统存储器装置的错误校正,所述错误校正不同于非传统存储器装置的错误校正。这通过向存储器控制器提供非传统存储器装置以处理适合于非传统存储器装置的ECC(错误校正码)且接着计算传统ECC以呈现给主机而实现。以此方式,注意了非传统存储器装置的错误校正,同时无需在主机处作出修改。
根据本发明的另一方面,将传统主机期望更新的扇区标头上的状态信息替代地保持并更新于使用非传统存储器装置的控制器而存储的表中。以此方式,即使当非传统存储器装置不支持先前写入的字节或扇区的部分覆写时,仍可保持与传统主机的兼容性。
本发明的一方面提供一种调适第一存储器装置的方法,所述第一存储器装置具有第一组存储器和通信特征以与主机一起操作,所述主机最初经设计以与具有第二组存储器和通信特征的传统存储器装置一起操作且不与所述第一存储器装置一起操作,所述方法包含:在所述第一存储器装置与所述主机之间提供介接电路;将具有所述第一组存储器和通信特征的所述第一存储器装置与所述主机介接,所述主机与所述第二组存储器和通信特征一起操作;以及其中所述介接解决所述第一组存储器和其通信特征与所述第二组存储器和其通信特征之间存在的至少一个差异,所述至少一个差异选自由错误校正码、存储器区块大小、每一存储器单元中所存储的位数目和状态信息组成的群组。
本发明的一方面提供一种在具有主机的系统中与使用第二错误校正码(ECC)的第二存储器系统一起操作所述主机的方法,所述主机经设计以与第一存储器系统一起操作但不与所述第二存储器系统一起操作,所述主机使用第一ECC来校正从所述第一存储器系统检索的数据中的错误,所述方法包含:在所述第二存储器系统中提供第二ECC计算模块;用所述第二ECC计算模块处理从所述第二存储器系统检索的数据的所述第二ECC;使用由所述第二ECC处理的所述数据来计算所述第一ECC;以及将具有所述第一ECC的所述数据呈现给所述主机。
本发明的一方面提供一种存储器装置,其包含:具有第一组存储器和通信特征的至少一个存储器芯片;用于耦合到传统主机的连接器;所述传统主机经设计以与具有第二组存储器和通信特征的传统存储器装置一起操作,且未经设计以与所述至少一个存储器芯片一起操作;接口电路,其耦合在所述连接器与所述至少一个存储器芯片之间,以在将所述传统主机耦合到所述连接器时使所述存储器装置能够仿真所述传统存储器;以及其中所述接口电路解决所述第一组存储器和通信特征与所述第二组存储器和通信特征之间存在的至少一个差异,所述至少一个差异选自由错误校正码、存储器区块大小、每一存储器单元中所存储的位数目和状态信息组成的群组。
将从以下本发明的优选实施例的描述来理解本发明的额外特征和优势,所述描述应结合附图而进行。
附图说明
图1示意性地说明经调适以与传统主机一起操作的非传统存储器装置,所述传统主机最初经设计以与传统存储器装置一起操作。
图2说明图1中所示的存储器控制器的硬件组件。
图3说明由控制器提供的ECC模块,其用以服务非传统存储器装置,同时满足最初经设计以与传统存储器装置一起操作的传统主机。
图4A说明逻辑扇区的标头中的ECC,其将通常在主机与传统存储器装置之间交换。图5A说明由不同平面的最小擦除单元的链接组成的元区块。
图4B说明逻辑扇区的标头中的ECC,其将通常在主机与非传统存储器装置之间交换。
图4C说明逻辑扇区的标头中的ECC,其将在主机与非传统存储器装置之间交换。
图5A说明传统存储器装置的存储器架构和寻址机制。
图5B说明传统存储器装置的逻辑扇区的组织。
图5C说明如由主机指派并分配到传统存储器中的主机物理区块HPB的扇区的逻辑区块。
图5D说明了如由主机执行的逻辑区块与主机物理区块之间的逻辑到物理映射。
图6A说明非传统存储器的存储器架构。
图6B说明由非传统存储器装置的控制器执行的逻辑区块到元区块的映射。
图6C说明为了与传统主机兼容而由非传统存储器装置的控制器执行的地址转译。
图7说明传统存储器装置中的扇区的标头,其含有用于指示状态的标头旗标。
图8说明将覆写状态位保持在控制器中的表中。
具体实施方式
传统主机
图1示意性地说明最初经设计以与传统存储器装置一起操作的传统主机。所述传统主机10具有连接器20,当使所述连接器20与传统存储器装置30的互补连接器20′相配时,允许一组数据和控制线21从传统主机10行进到传统存储器装置30。
传统存储器装置30可为主机中的嵌入式系统的一部分或呈外部可移除存储装置的形式(例如存储器卡)。其包括存储器阵列32和允许其由传统主机操作的接口34。所述存储器单元阵列被组织成可擦除区块,其中每一区块内的所有存储器单元可作为一单位擦除。在传统存储器装置的情况下,可擦除的区块大小通常相对较小,例如512MB,其对应于DOS扇区。而且,所述存储器单元通常能够每单元存储一个位的数据。与较后代的存储器相比,传统存储器装置具有相对简单的存储器架构和操作需求。因此,传统存储器装置通常仅需要简单的存储器控制器来控制其操作。为降低传统存储器装置的成本,将所述简单存储器控制器分割为控制器的主机侧部分和控制器的存储器侧部分。大部分智能位于主机侧中,从而留下最少的功能由控制器的存储器侧部分执行。因此,存储器接口34充当控制器的存储器侧部分且通常提供必要的操作电压,且在一些情况下提供状态机来执行简单的连续逻辑功能。
传统主机10经设计以与例如存储器装置30等特定传统存储器装置一起工作,因为其含有对所述传统存储器装置30来说特定的控制器12的主机侧部分。如上文所解释,不同于那些新近一代的存储器装置,传统存储器装置30使其大部分存储器区块管理由控制器的更智能的主机侧部分来处理。经济地,智能由主机处理器提供,而存储器控制器功能通常由主机处的一组软件驱动器来实施。
因此可见,传统主机10经设计以仅与特定一代的存储器装置一起工作,且其接口对于所述给定存储器装置的硬件特征来说是定制的。一般来说,这些传统存储器装置呈集成电路芯片的形式,且其接口仅由所述芯片的插脚图规格来界定。相反,传统主机10通常不与较后一代的存储器装置一起工作,且因此不能利用由这些非传统存储器装置所提供的较低成本和较高容量。
非传统存储器装置
图1也根据本发明的优选实施例说明经调适以与传统主机一起操作的非传统存储器装置。非传统存储器装置100包括存储器阵列110,其通常使用一种提供每单位存储的较高容量和降低的成本的较后代的存储器技术制造而成。在所述优选实施例中,存储器阵列110由多态存储器单元组成,其中所述存储器单元单独存储一位以上的数据。
存储器装置100通常具有与传统存储器装置30的存储器架构和特征不同的存储器架构和特征。然而,实施所述存储器装置100以在与传统主机10一起操作时显得其为传统存储器装置30。为实现此,其具有相同的呈互补连接器20″的形式的主机-存储器装置接口,所述互补连接器20″将所述组数据和控制线21与传统主机连接。此外,其具有具嵌入式智能的存储器控制器120,所述存储器控制器120一方面能够处理较后代的存储器阵列110的需求且另一方面能够仿真传统接口。
存储器控制器120包括存储器阵列接口130、主机接口140和存储器管理模块150。存储器阵列接口130在存储器阵列110与存储器管理模块150之间介接。主机接口140在传统主机10与存储器管理模块150之间介接。存储器控制器120也包括其它模块,例如用于控制必要的电源电压和时钟的模拟模块(未图示)。
存储器管理模块150进一步包括错误校正码(“ECC”)模块200、存储器区块管理模块300和状态位管理模块400。利用ECC模块200以对从存储器阵列110检索的数据或存储到存储器阵列110的数据执行错误校正操作。利用存储器区块管理模块300以管理数据在可擦除区块中的存储和其后续的更新和垃圾收集。利用状态位管理模块400以给出存储器装置和主机的各种状态的状态信息。
图2说明图1中所示的存储器控制器的硬件组件。在优选实施例中,存储器控制器120具有存储器阵列接口单元130′、主机接口单元140′。将图1中所示的存储器管理模块150实施为通过总线160而通信的基于微处理器的系统的部分。
存储器阵列接口单元130′包括存储器I/O接口控制器132、读取FIFO 134和写入FIFO 136。所述读取FIFO和写入FIFO分别用于缓冲如图1中所示经由线111而在存储器控制器120与存储器阵列110之间转移的异步读取或写入数据。读取FIFO 134是提供存储器阵列与控制器中的DPRAM缓冲器(将在下文中描述)之间的数据转移同步的队列。写入FIFO 136是提供DPRAM缓冲器与存储器阵列之间的数据转移同步的队列。存储器I/O接口控制器132控制存储器阵列与存储器管理模块150(尤其是DPRAM缓冲器)之间的转移。其也产生用于存储器阵列110的所有控制/定时信号。在优选实施例中,其通过有限状态机来实施。
主机接口单元140′包括主机I/O接口控制器142和命令FIFO 144。命令FIFO 144缓冲在主机I/O接口控制器142的控制下经由主机-存储器装置接口20″和21所接收的主机命令。主机I/O接口控制器也提供对在主机接口单元与存储器管理模块150中的DPRAM之间的转移的控制。主机接口单元在主机看来将如同是来自传统存储器装置。其是为从主机供应的读取和写入选通计时的异步接口。当控制器120处于低功率模式时,主机可开始发出将由命令FIFO 144缓冲的命令,同时控制器返回到正常操作。即使主机事实上正与非传统存储器装置一起操作,但其仍能够发出用于传统存储器装置的用户命令。
通过基于微处理器的系统来实施图1中所示的存储器管理模块150的各种功能单元。通过执行存储在只读存储器(“ROM”)154中的代码的可编程控制单元(“PCU”)152来提供智能。将进入存储器控制器120中和从存储器控制器120出来的数据存储在双端口随机存取存储器(“DPRAM”)170中以待由PCU处理。数据转移单元156促进数据到DPRAM或从DPRAM的总线转移。同步器(“SYNC”)158提供用于各种异步数据转移的时序。ECC单元180处理用于数据的错误校正。
PCU 152控制包括到数据转移单元156的控制信号的操作流。所述PCU执行存储在ROM 154中或RAM中的必要的代码数据以执行各种任务。这些任务包括命令FIFO 144的解析和各种逻辑区块的控制,例如产生适当的存储器阵列命令/地址序列、控制数据流、执行写入保护功能、服务于干扰、执行启动序列和执行I/D状态读取,等等。PCU将能够存取DPRAM 170内的寄存器、主机接口单元140′以及存储器控制器内的其它寄存器和FIFO。在优选实施例中,PCU具有一架构,所述架构具有独立指令和数据总线以用于改进效率。
数据转移单元156被实施为状态机且其将许多控制信号提供到存储器I/O接口控制器132、ECC单元200以及读取FIFO 134和写入FIFO 136,从而控制数据缓冲器与存储器阵列之间的实际数据转移。数据转移单元156由PCU 152控制。
双端口RAM(DPRAM)170具有双向性和同步性。其在主机的写入/读取启用时钟期间提供数据同步。其提供用于ECC处理的中间页数据的存储、装置ID数据的存储和装置状态数据的存储。其也充当用于PCU数据的高速暂存存储器。
ECC单元200通常是雷德-所罗门(Reed-Solomon)处理逻辑,所述逻辑通常包括编码器、解码器和校正逻辑。在优选实施例中,编码器产生10字节的奇偶数据。解码器检测错误且错误逻辑校正DPRAM缓冲器170中的数据。在PCU 152和数据转移单元156的控制下执行编码、解码和校正操作。
当与传统主机一起操作时存储器装置的错误校正
根据本发明的一方面,非传统存储器装置经调适以与传统主机一起操作,所述传统主机最初经设计以处理传统存储器装置的错误校正,所述错误校正不同于非传统存储器装置的错误校正。这通过向存储器控制器提供非传统存储器装置以处理适合于非传统存储器装置的ECC(错误校正码)且接着计算传统ECC以呈现给主机而实现。以此方式,注意了非传统存储器装置的错误校正,同时无需在主机处作出修改。
如上文所描述,传统主机10经设计以与传统存储器装置30一起操作。所述传统存储器装置30通常为存储器,其支持每存储器单元存储一位的数据且因此需要简单的错误校正或不需要错误校正。
图3说明了由控制器所提供的ECC模块,其用以服务于非传统存储器装置,而同时满足最初经设计以与传统存储器装置一起操作的传统主机。如上文所描述,主机10具有嵌入式存储器控制器12,其通常实施为控制传统存储器装置30的软件驱动器。当传统存储器装置不需要错误校正时,主机将不设计有ECC能力。当传统存储器装置确实需要错误校正时,其将通常相对简单,且足以校正单一位错误。在那种情况下,由软件存储器控制器12来充分地处理ECC计算。
然而,在非传统存储器装置100(例如每存储器单元支持一个以上的位的非传统存储器装置)中,将需要更先进且复杂的错误校正。其将与内置在最初设计用于传统存储器装置30的主机10中的原始ECC(如果有的话)不兼容。
如图1中所示,非传统存储器装置100包括具有ECC模块200的存储器控制器120。所述ECC模块200包含传统存储器装置ECC组件210和非传统存储器装置ECC组件220。非传统存储器装置ECC组件220优选为如在图2中所示的ECC单元180中的硬件ECC单元。可通过ROM 154和PCU 152中的代码组合将传统存储器装置ECC组件210实施为软件处理器。
图4A说明逻辑扇区的标头中的ECC,其将通常在主机与传统存储器装置之间交换。逻辑扇区302包含用于存储用户数据的数据部分304和用于存储系统信息的标头或额外开销部分306。当写入扇区的数据部分时,将由主机中的传统控制器12来计算错误校正码ECC1,且所述错误校正码ECC1将被存储在扇区的标头部分中。当从传统存储器32读取扇区的数据部分时,来自标头的ECC1将与从数据计算得出的ECC1′匹配。如果存在失配,则将使用所存储的ECC1来校正所检索的数据。
图4B说明逻辑扇区的标头中的ECC,其将通常在主机与非传统存储器装置之间交换。在此情况下,本发明需要非传统存储器装置ECC组件220(图3中所示)来处理适当的ECC2且与数据一起存储在每一扇区中。类似地,将使用所存储的ECC2来检测并校正读取数据中的任何错误。硬件ECC单元180(图2中所示)的使用将确保有效的错误校正而无需使PCU 152停滞(即使存在待校正的若干位也如此)。
图4C说明逻辑扇区的标头中的ECC,其将在主机与非传统存储器装置之间交换。在传统主机期望处理来自传统存储器装置的ECC1的情况下,如果替代地呈现和处理用于非传统存储器装置的ECC2,则所述传统主机将产生错误。本发明需要使用传统存储器装置ECC组件210在读取期间从数据中计算用于主机的传统ECC1。就写入来说,可忽视通过主机计算的传统ECC1。非传统存储器装置ECC组件220将计算将与扇区数据一起存储在非传统存储器110中的适当ECC2。
非传统存储器架构与传统存储器架构之间的管理差异
除单一位存储与多位存储的差异以外,非传统存储器装置通常具有更大的可擦除区块大小以用于改进性能。当使非传统存储器装置与最初经设计以用于传统存储器装置的主机兼容时,其在主机看来必须具有与传统存储器装置类似的架构和寻址机制。
图5A说明传统存储器装置的存储器架构和寻址机制。传统存储器30具有被组织成可擦除区块HPB0、HPB1、...的存储器阵列32。举例来说,可擦除区块可含有32个扇区,其中每一扇区为约512个字节。如早先结合图1所解释,出于成本考虑,传统存储器装置30仅具备几乎不具有或完全不具有智能的最小控制器34,且其依靠主机10来提供用于存储器管理的控制器12。出于简单性和便利性,使主机存取传统存储器装置的物理区块且直接管理传统存储器装置的物理区块。由于该原因,将在主机与存储器装置之间通信的实体称作“主机物理区块”或(“HPB′s”)。由HPB的数目和HPB内的扇区偏移来给出完整地址。主机通常具有产生数据的应用程序,其通过操作系统(“OS”)而被封装为文件。当产生数据时,OS将其指派到逻辑扇区中。控制器12负责存储器管理,且逻辑到物理映射模块14将逻辑扇区群组映射到HPB中。
图5B说明传统存储器装置的逻辑扇区302的组织。类似于图4A中所示的扇区,所述扇区被分割成数据部分304和标头部分306。具体来说,标头部分含有用于识别已分配有此扇区的HPB的HPB字段308。
图5C说明如由主机指派并分配到传统存储器32中的主机物理区块HPB的扇区的逻辑区块。
图5D说明如由主机执行的逻辑区块与主机物理区块之间的逻辑到物理映射。当修改并删除个别逻辑扇区时,控制器不得不管理区块内所存储的逻辑扇区的更新和删除的任务,其约束条件为可仅在整个区块已被擦除后才进行更新。
图6A说明非传统存储器的存储器架构。将所述存储器分割成可擦除区块MB0、MB1、...,所述区块将被称作“元区块”。每一元区块含有H个扇区。因此,MB0含有扇区S(0)、S(1)、...、S(H-1)。举例来说,每一元区块可含有256个扇区,其比传统存储器区块大八倍。一般来说,元区块优选由属于不同平面的扇区构成,其中可并行操作来自每一平面的扇区。以此方式,实现了最大并行性。为管理更新和删除,将逻辑区块LB映射到元区块MB。
图6B说明由非传统存储器装置的控制器执行的逻辑区块到元区块的映射。以此方式,系统可保持追踪逻辑区块中的数据,即使其物理位置已被改变也如此。
图6C说明由非传统存储器装置的控制器执行的地址转译以便与传统主机兼容。如早先所描述,传统主机10经设计以与传统存储器装置30一起操作且其在主机物理区块(HPB)中交换地址。非传统存储器装置100的控制器200包括将HPB地址转译为元区块地址的地址转译组件230和用以管理逻辑LB到物理MB区块的映射的区块管理器240。来自主机侧,地址转译组件230从主机接收主机物理区块HPB且将其封装成逻辑区块单元以用于存储到元区块中。在非传统存储器控制器200中,将HPB地址视作逻辑地址,且通过逻辑到逻辑映射来指派所述HPB地址以填充逻辑区块并将所述HPB地址保持在HPB到LB映射表232中。逻辑区块LB到物理MB区块映射将逻辑区块链接到存储装置中的特定元区块且在LB到MB映射表234中保持其链接。
通过区块管理器240来处理元区块相对于逻辑区块的后续管理。在此项技术中已知许多区块管理机制。在题为“具有区块管理系统的非易失性存储器和方法(Non-VolatileMemory and Method with Block Management System)”的美国专利公开案第US-2005-0144360-A中揭示优选的区块管理机制。所参考的公开案的整体揭示内容以引用的方式并入本文。
特殊传统状态处理
根据本发明的另一方面,将传统主机期望更新的关于扇区标头的状态信息替代地保持并更新于通过非传统存储器装置的控制器而存储的表中。以此方式,即使当非传统存储器装置不支持如下文所描述的部分覆写时,仍可保持与传统主机的兼容性。
图7说明传统存储器装置中的扇区的标头,其含有用于指示状态的标头旗标。对于传统存储器装置30来说,使用标头306中的标头旗标字段309以存储状态信息。此外,可覆写状态字段309中的位,因此所述字段中的位指示在其被设定前的一个状态且指示在其已被设定后的另一状态。即,可甚至在原始写入后将个别位从“1”覆写到“0”。
然而,非传统存储器装置100可不支持覆写特征,因为到存储器的重写可导致某些装置中的存储器讹误。此尤其与多级存储器装置有关,在所述多级存储器装置中,个别存储器单元可具有在其中被编程的多个阈值电平中的一者。每单元分辨一个以上电平的需求允许较小的错误容限。因此,由于对现有经编程的位的所得程序干扰,所以这些存储器可能不能够容忍对字节或扇区的选定位的第二遍编程。在那些不支持覆写特征的情况下,为保持与传统主机10的兼容性,模拟额外开销位。
图8说明将覆写状态位保持在控制器中的一表中。利用保持在控制器200(见图6C)中的HPB到LB映射表232以保存标头旗标。在每一主机扇区写入操作期间,主机将发送标头和扇区数据。32个扇区的所有标头(使用早先给出的实例)将含有用于相同HPB(主机物理区块)的相同LB(逻辑区块)数目。此链接被保存到HPB到LB表232以供在未来的读取命令期间使用。当控制器将LB数目分配到元区块时,将此映射保存在LB到MB表234(见图6C)。如果主机控制器12决定将标头覆写于HPB中,则此信息将被保存在不能被覆写的媒体上的HPB到LB表232中而非标头309中。
举例来说,在复制操作期间(区块内的写入更新)更新状态位将针对任一原始主机区块的扇区而设定(主动)直到主机擦除那个区块。接着在更新操作期间将此状态存储在HPB到LB表232中。当主机读取此HPB的标头时,必须在供电后正确地返回此状态,因此将所述表写入到媒体。当更新操作完成时,主机区块被擦除且可清除表条目。
另一实例为2位的页状态。使用这些位以指示所有均OK(=3),扇区已变坏(=1)或含有从坏扇区(=0)复制的讹误数据。当向具有坏页(=1)的区块发出擦除时,将所述整个区块标记为坏(=1)而非将其擦除。关于对新区块的复制操作,标记为坏(=1)的任一扇区将在新区块中使其页状态被设定为0。可通过将旗标值保存到HPB到LB表来模拟页旗标。
又一实例为区块状态位,其指示区块含有增长的缺陷且不再使用。可通过标记用于此区块的HPB到LB表且将实际区块添加到缺陷清单来模拟覆写位。
尽管已关于某些实施例描述了本发明的各方面,但应理解,在所附权利要求书的完整范围内,本发明受到保护。

Claims (13)

1.一种调适第一存储器装置的方法,所述第一存储器装置具有第一组存储器和通信特征以与主机一起操作,所述主机最初经设计以与具有第二组存储器和通信特征的传统存储器装置一起操作且不与所述第一存储器装置一起操作,所述方法包含:
在所述第一存储器装置与所述主机之间提供介接电路;
将具有所述第一组存储器和通信特征的所述第一存储器装置与所述主机介接,所述主机与具有所述第二组存储器和通信特征的传统存储器装置一起操作;以及
其中所述介接解决所述第一组存储器和其通信特征与所述第二组存储器和其通信特征之间存在的至少一个差异,所述至少一个差异选自由错误校正码、存储器区块大小、每一存储器单元中所存储的位数目和状态信息组成的群组;
其中所述至少一个差异包括指示所述第一组存储器和通信特征中的存储器操作条件的状态位;且其中
所述介接进一步包含:
保持存储在所述第一存储器装置中的目录;以及
响应于所述存储器操作条件的存在或不存在将所述状态位的值存储在所述目录中。
2.根据权利要求1所述的方法,其中:
所述第一存储器装置包含多位存储器单元,且所述传统存储器装置包含单一位存储器单元。
3.根据权利要求1所述的方法,其中:
所述至少一个差异包括可擦除的存储器区块大小,其中所述第一存储器装置具有不同于与所述传统存储器装置兼容的存储器区块大小的存储器区块大小,所述主机最初经设计以与所述传统存储器装置一起操作,以及
所述介接在所述第一存储器装置的所述存储器区块与和所述传统存储器装置兼容的所述存储器区块之间映射。
4.根据权利要求3所述的方法,其中:
所述第一存储器装置的所述存储器区块大小大于与所述传统存储器装置兼容的所述存储器区块大小。
5.根据权利要求1所述的方法,其中:
所述第一存储器装置与所述主机之间的所述介接是异步的。
6.一种存储器装置,其包含:
具有第一组存储器和通信特征的至少一个存储器芯片;
用于耦合到传统主机的连接器;
所述传统主机经设计以与具有第二组存储器和通信特征的传统存储器装置一起操作,且未经设计以与所述至少一个存储器芯片一起操作;
接口电路,其耦合在所述连接器与所述至少一个存储器芯片之间,以在将所述传统主机耦合到所述连接器时使所述存储器装置能够仿真所述传统存储器;以及
其中所述接口电路解决所述第一组存储器和通信特征与所述第二组存储器和通信特征之间存在的至少一个差异,所述至少一个差异选自由错误校正码、存储器区块大小、每一存储器单元中所存储的位数目和状态信息组成的群组。
7.根据权利要求6所述的存储器装置,其中:
所述存储器装置包含多位存储器单元,且所述传统主机经设计以操作具有单一位存储器单元的所述传统存储器装置。
8.根据权利要求6所述的存储器装置,其中:
所述至少一个差异包括所述第二组存储器和通信特征中的错误校正码(ECC);以及
所述接口电路包括用于处理所述ECC的ECC计算模块。
9.根据权利要求6所述的存储器装置,其中:
所述至少一个差异包括指示所述第一组存储器和通信特征中的存储器操作条件的状态位;以及
所述接口电路包括:
存储在所述至少一个存储器芯片中的目录;以及
电路,其用于响应于所述存储器操作条件的存在或不存在而将所述状态位的一状态或一替代状态存储在所述目录中。
10.根据权利要求6所述的存储器装置,其中:
所述至少一个差异包括存储器区块大小,其中所述存储器装置具有大于所述传统存储器装置的所述存储器区块大小的存储器区块大小。
11.根据权利要求6所述的存储器装置,其中:
所述至少一个差异包括每一存储器单元中所存储的位数目,其中所述存储器装置每一存储器单元比所述传统主机经设计以与之一起操作的所述传统存储器装置存储更多的位。
12.根据权利要求6所述的存储器装置,其中所述接口电路进一步包含:
异步主机接口单元,其用于与所述主机介接;
异步存储器芯片接口单元,其用于与所述至少一个存储器芯片介接;以及
控制单元,其用于控制所述异步主机接口单元和所述异步存储器芯片接口单元。
13.根据权利要求12所述的存储器装置,其中所述接口电路进一步包含:
一组代码,其由所述控制单元执行以解决所述第一组存储器和其通信特征与所述第二组存储器和其通信特征之间存在的差异。
CN2006800434536A 2005-11-22 2006-11-15 用于传统主机的方法和存储器系统 Expired - Fee Related CN101346771B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/285,992 2005-11-22
US11/285,992 US7747927B2 (en) 2005-11-22 2005-11-22 Method for adapting a memory system to operate with a legacy host originally designed to operate with a different memory system
US11/286,100 US7739472B2 (en) 2005-11-22 2005-11-22 Memory system for legacy hosts
US11/286,100 2005-11-22
PCT/US2006/060932 WO2007062307A2 (en) 2005-11-22 2006-11-15 Method and memory system for legacy hosts

Publications (2)

Publication Number Publication Date
CN101346771A CN101346771A (zh) 2009-01-14
CN101346771B true CN101346771B (zh) 2012-05-02

Family

ID=38054825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800434536A Expired - Fee Related CN101346771B (zh) 2005-11-22 2006-11-15 用于传统主机的方法和存储器系统

Country Status (2)

Country Link
US (1) US7739472B2 (zh)
CN (1) CN101346771B (zh)

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747927B2 (en) * 2005-11-22 2010-06-29 Sandisk Corporation Method for adapting a memory system to operate with a legacy host originally designed to operate with a different memory system
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
WO2007132452A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
DE102006052173B4 (de) * 2006-11-02 2023-06-01 Fast Lta Gmbh Schreibschutzverfahren und -vorrichtung für wenigstens eine Speichereinrichtung mit wahlfreiem Zugriff
US8037231B2 (en) * 2006-11-28 2011-10-11 Intel Corporation Memory architecture for separation of code and data in a memory device
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US20080140724A1 (en) * 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
US8074011B2 (en) 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
US8935302B2 (en) * 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8369141B2 (en) 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8270246B2 (en) 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8195912B2 (en) 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8745337B2 (en) * 2007-12-31 2014-06-03 Teradyne, Inc. Apparatus and method for controlling memory overrun
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US9063874B2 (en) 2008-11-10 2015-06-23 SanDisk Technologies, Inc. Apparatus, system, and method for wear management
US8516343B2 (en) * 2008-11-10 2013-08-20 Fusion-Io, Inc. Apparatus, system, and method for retiring storage regions
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8977805B2 (en) 2009-03-25 2015-03-10 Apple Inc. Host-assisted compaction of memory blocks
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8139391B2 (en) * 2009-04-03 2012-03-20 Sandisk 3D Llc Multi-bit resistance-switching memory cell
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
CN102696010B (zh) 2009-09-08 2016-03-23 才智知识产权控股公司(2) 用于将数据高速缓存在固态存储设备上的装置、系统和方法
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US8601222B2 (en) 2010-05-13 2013-12-03 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
EP2476039B1 (en) 2009-09-09 2016-10-26 SanDisk Technologies LLC Apparatus, system, and method for power reduction management in a storage device
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
CN102598019B (zh) 2009-09-09 2015-08-19 才智知识产权控股公司(2) 用于分配存储的设备、系统和方法
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US20110230711A1 (en) * 2010-03-16 2011-09-22 Kano Akihito Endoscopic Surgical Instrument
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
WO2012016089A2 (en) 2010-07-28 2012-02-02 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
WO2012082792A2 (en) 2010-12-13 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for auto-commit memory
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
WO2012100087A2 (en) 2011-01-19 2012-07-26 Fusion-Io, Inc. Apparatus, system, and method for managing out-of-service conditions
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US8884340B2 (en) * 2011-05-25 2014-11-11 Samsung Electronics Co., Ltd. Semiconductor devices including dual gate electrode structures and related methods
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US9251019B2 (en) 2012-05-29 2016-02-02 SanDisk Technologies, Inc. Apparatus, system and method for managing solid-state retirement
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
CN102929655A (zh) * 2012-09-26 2013-02-13 瑞斯康达科技发展股份有限公司 向闪存芯片中烧写数据文件的方法、预处理方法及装置
TWI492054B (zh) * 2012-11-05 2015-07-11 Phison Electronics Corp 快閃記憶體的模擬方法與模擬器
US9092353B1 (en) * 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9093160B1 (en) * 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
US9921763B1 (en) 2015-06-25 2018-03-20 Crossbar, Inc. Multi-bank non-volatile memory apparatus with high-speed bus
US10141034B1 (en) 2015-06-25 2018-11-27 Crossbar, Inc. Memory apparatus with non-volatile two-terminal memory and expanded, high-speed bus
US10222989B1 (en) * 2015-06-25 2019-03-05 Crossbar, Inc. Multiple-bank memory device with status feedback for subsets of memory banks
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
CN110908926B (zh) * 2018-09-14 2022-03-22 慧荣科技股份有限公司 数据储存装置及逻辑至物理地址映射表的写入方法
US11449244B2 (en) * 2020-08-11 2022-09-20 Silicon Motion, Inc. Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
US11829619B2 (en) * 2021-11-09 2023-11-28 Western Digital Technologies, Inc. Resource usage arbitration in non-volatile memory (NVM) data storage devices with artificial intelligence accelerators

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5070032A (en) 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
US5343063A (en) 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5887145A (en) * 1993-09-01 1999-03-23 Sandisk Corporation Removable mother/daughter peripheral card
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5661053A (en) 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5768192A (en) 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
US6047361A (en) * 1996-08-21 2000-04-04 International Business Machines Corporation Memory control device, with a common synchronous interface coupled thereto, for accessing asynchronous memory devices and different synchronous devices
US5890207A (en) 1996-11-27 1999-03-30 Emc Corporation High performance integrated cached storage device
US5890219A (en) 1996-11-27 1999-03-30 Emc Corporation Redundant writing of data to cached storage system
US6768165B1 (en) 1997-08-01 2004-07-27 Saifun Semiconductors Ltd. Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping
KR100266748B1 (ko) 1997-12-31 2000-10-02 윤종용 반도체 메모리 장치 및 그 장치의 에러 정정 방법
US6216247B1 (en) * 1998-05-29 2001-04-10 Intel Corporation 32-bit mode for a 64-bit ECC capable memory subsystem
US6260127B1 (en) * 1998-07-13 2001-07-10 Compaq Computer Corporation Method and apparatus for supporting heterogeneous memory in computer systems
WO2000067132A1 (en) 1999-04-30 2000-11-09 Centennial Technologies, Inc. Combination ata/linear flash memory device
US6438638B1 (en) 2000-07-06 2002-08-20 Onspec Electronic, Inc. Flashtoaster for reading several types of flash-memory cards with or without a PC
US6622227B2 (en) * 2000-12-27 2003-09-16 Intel Corporation Method and apparatus for utilizing write buffers in memory control/interface
US6349056B1 (en) 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
US20040049627A1 (en) 2001-11-09 2004-03-11 Flex-P Industries Method and system for controlling compact flash memory
US6704852B2 (en) 2001-11-16 2004-03-09 Key Technology Corporation Control device applicable to flash memory card and method for building partial lookup table
US8504798B2 (en) 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US20060195653A1 (en) * 2005-02-25 2006-08-31 Murphy Gordon J Switchable mass storage system
US7747927B2 (en) 2005-11-22 2010-06-29 Sandisk Corporation Method for adapting a memory system to operate with a legacy host originally designed to operate with a different memory system

Also Published As

Publication number Publication date
US7739472B2 (en) 2010-06-15
US20070118713A1 (en) 2007-05-24
CN101346771A (zh) 2009-01-14

Similar Documents

Publication Publication Date Title
CN101346771B (zh) 用于传统主机的方法和存储器系统
CN102354299B (zh) 存储卡和半导体器件
CN104750625B (zh) 数据储存装置以及快闪存储器控制方法
CN101124555B (zh) 具有多流更新的非易失性存储器和方法
KR101517416B1 (ko) 셀당 단일 비트 nand 플래시 메모리를 에뮬레이팅하기 위한 셀당 다수 비트 nand 플래시 메모리에 대한 제어기
US8316177B2 (en) Partial block data programming and reading operations in a non-volatile memory
CN101681300B (zh) 存储器系统
US8914702B2 (en) Bit error repair method and information processing apparatus
TWI498898B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
EP3133604B1 (en) Method and device for fail-safe erase of flash memory
CN103137199A (zh) 存储器系统、数据存储设备、存储卡和固态驱动器
CN109542675A (zh) 存储器系统及其操作方法
CN101099125A (zh) 群集的自动对准
US7747927B2 (en) Method for adapting a memory system to operate with a legacy host originally designed to operate with a different memory system
CN103650054A (zh) 包含存储器系统控制器的设备和相关方法
CN103635969A (zh) 包含存储器系统控制器的设备和相关方法
CN101408864B (zh) 用于断电时的数据保护方法及使用此方法的控制器
CN102637154A (zh) 执行数据保持操作的用户器件、存储器件以及数据保持方法
CN103377129A (zh) 数据写入方法、存储器控制器与存储器储存装置
CN110096385A (zh) 存储器系统及其操作方法
CN103136111A (zh) 数据写入方法、存储器控制器与存储器储存装置
CN102968385B (zh) 数据写入方法、存储器控制器与储存装置
CN102592670A (zh) 数据写入方法、存储器控制器与存储器储存装置
CN106484308B (zh) 数据保护方法、存储器控制电路单元及存储器储存装置
EP1952404B1 (en) Method and memory system for legacy hosts

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
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20121225

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20121225

Address after: Texas, USA

Patentee after: Sandy Technology Corp.

Address before: California, USA

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Texas, USA

Patentee after: SANDISK TECHNOLOGIES LLC

Address before: Texas, USA

Patentee before: Sandy Technology Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120502

CF01 Termination of patent right due to non-payment of annual fee