CN101763309B - 非易失性存储装置、信息记录系统及信息记录方法 - Google Patents

非易失性存储装置、信息记录系统及信息记录方法 Download PDF

Info

Publication number
CN101763309B
CN101763309B CN2009102597124A CN200910259712A CN101763309B CN 101763309 B CN101763309 B CN 101763309B CN 2009102597124 A CN2009102597124 A CN 2009102597124A CN 200910259712 A CN200910259712 A CN 200910259712A CN 101763309 B CN101763309 B CN 101763309B
Authority
CN
China
Prior art keywords
management information
user data
nonvolatile memory
instruction
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.)
Expired - Fee Related
Application number
CN2009102597124A
Other languages
English (en)
Other versions
CN101763309A (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.)
Sony Corp
Original Assignee
Sony 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
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN101763309A publication Critical patent/CN101763309A/zh
Application granted granted Critical
Publication of CN101763309B publication Critical patent/CN101763309B/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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/10Program control for 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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]
    • 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/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system

Abstract

本发明公开了非易失性存储装置、信息记录系统和信息记录方法,所述非易失性存储装置包括:非易失性存储构件,其被配置为存储用户数据和管理信息,所述管理信息用于在文件系统上对所述用户数据进行管理;以及媒介控制器,其被配置为判断从主机装置输入过来的且表示对所述用户数据或者所述管理信息进行的处理内容的指令是用于所述用户数据还是用于所述管理信息,并且基于判断结果在用于所述非易失性存储构件的各控制方法之间进行切换。在本发明的非易失性存储装置、信息记录系统和信息记录方法中,由于在两点处写入相同的管理信息(双写入),因而管理信息可以在该两点中的任一点处被存储成处于安全状态,并且能够防止出现数据错误。

Description

非易失性存储装置、信息记录系统及信息记录方法
相关申请的交叉参考
本申请包含与2008年12月25日向日本专利局提交的日本在先专利申请JP2008-330883相关的主题,在此将该日本专利申请的全部内容并入本文作为参考。
技术领域
本发明涉及包括非易失性存储元件并能将数据存储为处于安全状态的非易失性存储装置,还涉及包括该非易失性存储装置的信息记录系统以及信息记录方法。
背景技术
近来,随着包括半导体存储元件且可电重写(electrically rewritable)的非易失性存储装置(以下称作“媒介”)的存储容量的增加,作为用来记录通常被存储在诸如磁盘等介质中的文件数据的媒介,已经制造出诸如存储卡等辅助存储装置。尤其是,由于具有大存储容量的NAND型闪速存储器(NAND-type flash memory)能够以较低成本制造出来,因而NAND型闪速存储器被用于数码相机和移动电话终端中。
图30示出了包括媒介和信息记录装置(以下称作“主机”)的存储系统,该信息记录装置用作从媒介读取数据和将数据写入到媒介上的主机装置。
该存储系统包括主机400和媒介300。媒介300包括媒介控制器310和非易失性存储元件(非易失性存储器(NVM:Non-Volatile Memory))350。媒介控制器310包括主机接口320、NVM控制部330和NVM接口340。基于通过主机接口320接收到的预定协议数据中所包含的信息,媒介控制器310利用NVM控制部330来对非易失性存储元件350进行控制,并实现作为存储装置的功能。
主机400包括用于缓存对存储装置进行控制的用户数据和管理信息的缓存部,并且将缓存的用户数据和缓存的管理信息输出到媒介300。此时,主机400通过使用同一方法(同一协议)将缓存的用户数据和缓存的管理信息输出到媒介300,该协议没有办法将用户数据与管理信息区别开。诸如上述数码相机、上述移动电话终端和个人计算机等各种信息记录装置被应用于主机400。
在该存储系统中,主机400使用了用于对媒介300进行访问的预定协议。图31示出了主机400中的软件层。
如图31所示,软件层主要包括应用程序450、文件系统460和媒介控制驱动器470。当响应于用户的操作进行文件访问时,应用程序450通过文件系统460来指示对文件的访问。
由主机400通过使用文件系统460来进行访问的媒介300中的数据包括诸如用户数据和该文件系统所使用的管理信息等两种类型的数据。用户数据是由用户使用应用程序而创建的数据文件。另一方面,管理信息是用于管理媒介中所存储的全部用户数据的重要数据。目前,例如文件分配表(File Allocation Tables,FAT)文件系统是公知的文件系统。以FAT文件系统为例,管理信息包括BIOS参数块(BIOS Parameter Block,BPB)、分区引导记录(Partition Boot Record,PBR)、FAT1、FAT2、根目录和目录。上述两种类型的数据被分配在与主机相关的一个存储空间中。
文件系统460包括管理信息控制部461和用户数据访问部462。管理信息控制部461和用户数据访问部462分别对管理信息和用户数据进行控制(访问控制)。然后,文件系统460将数据访问指示(data-accessinstruction)输出到媒介控制驱动器470。
媒介控制驱动器470是对图31中未图示的媒介控制部进行控制的软件,并且响应于从文件系统460供给过来的数据访问指示将媒介控制指令和参数输出到媒介接口480。此时,管理信息和用户数据被输出到媒介控制驱动器470。
媒介接口480响应于从媒介控制驱动器470供给过来的媒介控制指令和参数将媒介访问协议数据(medium-access protocol data)输出到媒介490。输出到媒介490的数据根据应用程序所使用的读取/写入指令的发送模式(序列)而被输出。
例如,从主机400发送的读取/写入指令的发送模式(序列)包括作为用于从媒介300读取数据的指令的READ_DATA或者作为用于将数据写入到媒介300的指令的WRITE_DATA。图32A和图32B分别示出了用于解释响应于读取指令和写入指令对媒介300进行的两种处理的流程图。在读取处理的情况下,如图32A所示,NVM控制部330检测到例如READ_DATA指令(步骤S231),并且对非易失性存储元件350进行读取控制(步骤S232)。此时,进行对错误校正码(Error Correcting Code,ECC)的确认,即进行对所读取的数据中有无错误的确认(步骤S233)。另一方面,在写入处理的情况下,如图32B所示,NVM控制部330检测到例如WRITE_DATA指令(步骤S235),并且对非易失性存储元件350进行写入控制(步骤S236)。此时,进行对非易失性存储元件350的状态的确认(步骤S237)。
这里,图33示出了作为文件系统示例的FAT文件系统的存储空间的示例。在作为访问单位的扇区(512字节)的基础上,该存储空间作为连续的地址空间而存在着,在该连续的地址空间中,第一地址对应于0。以FAT文件系统为例,在逻辑格式化的存储空间中,BPB被分配到第一地址,后面跟着分配的是作为管理信息的PBR、FAT1、FAT2和根目录。用户数据区域(User Data Area)包括目录和文件。
虽然上述目录也是管理信息的一部分,但该目录是响应于用户指示而生成的管理信息。然后,基于实际生成该目录的时刻来确定分配给该目录的地址。虽然FAT2是作为FAT1的副本而存在的,但是除了FAT1之外的其他管理信息在存储空间上不具有副本。因此,当出现了数据错误时,可能会丢失除了FAT1之外的其他管理信息,并且文件系统可能不会正常地起到存储系统的作用。
此外,对管理信息进行存储所需要的存储容量比用户数据进行存储所需要的存储容量小,并且对管理信息进行访问是以较小的量进行的。例如,在文件系统FAT32的情况下,对4M(兆)字节的用户数据进行管理所必需的FAT信息的大小是512字节(在簇大小是32K字节的情况下)。
下面参照图34所示的流程图对与图31所示的文件访问示例对应的读取文件访问处理(Read-file access processing)进行说明。当主机400检测到媒介300被装载到插槽中时,主机400开始安装处理。首先,主机400读取FAT文件系统中的BPB(步骤S201),随后读取PBR(步骤S202)。然后,主机400读取根目录(步骤S203)。这样,每次当安装媒介300时,BPB、PBR和根目录都被读取一次。因此,对管理信息的访问次数变得非常大。
接着,参照图35所示的流程图对与图31所示的数据访问示例对应的读取文件访问处理进行说明。在媒介300中,当检测到对文件的读取访问指示时,首先,读取FAT文件系统中的目录(步骤S211),随后读取FAT1(步骤S212)。然后,读取用户数据(步骤S213)。接着,判断用户数据是否已完成(步骤S214)。当还未完成用户数据时,该处理返回步骤S212中的对FAT1的读取处理。当已完成用户数据时,结束上述一系列处理。
接着,参照图36所示的流程图对与图31所示的数据访问示例对应的写入文件访问处理进行说明。在媒介300中,当检测到对文件的写入访问指示时,首先,读取FAT文件系统中的目录(步骤S221)。然后,搜索并写入目标用户数据(步骤S222)。在写入用户数据之后,把对用户数据进行的写入处理的内容反映在FAT1中(步骤S223)。随后,把对用户数据进行的写入处理的内容反映在FAT2中(步骤S224)。然后,判断用户数据是否已完成(步骤S225)。当还未完成用户数据时,该处理返回步骤S222中的对用户数据的写入处理。当已完成用户数据时,写入目录(步骤S226),并结束上述一系列处理。
通过将最多32位分配给作为数据管理单位的簇来对FAT信息进行管理(在FAT32的情况下)。因此,在一个存储有同一FAT信息的扇区中,对4096位(=32位×128;对应于512字节)的数据进行管理。然后,每次当访问这些簇时,对存储在该扇区中的FAT信息进行了一次以上的访问。
下面参照图37对图31所示的媒介控制指令和参数的具体示例进行说明。图37是从主机400向媒介300发出的实际指令(写入处理中的序列)的示例。由主机400发出的指令包括处理内容、媒介中的扇区地址和与扇区数量有关的信息。在本示例中,第1个~第3个(No.1~No.3)指令和第9个~第11个(No.9~No.11)指令与对管理信息的访问相关,并且超过一次地进行了对管理信息的访问。
近年来,闪速存储器的页大小已经扩展为2K~4K字节大小。当使用这样的存储器时,在1页对应于4~8个扇区的基础上,可知访问次数进一步达到了4~8倍。这样,由于从主机向文件系统中的管理信息进行的访问次数高于用户数据,因而考虑到数据保持(data-retention)特性,管理信息容易引起数据错误。
在这种情况下,当在从主机400将数据存储到媒介300的期间关断了系统的电源时,数据存储的中断会导致如下状态:正在进行数据存储处理的数据引起了数据错误。在可拆卸媒介的情况下,当在数据存储期间拔出该可拆卸媒介时,会出现相同的状态。
图38是用于解释在写入文件访问处理(与用户数据相关)期间出现了电源关断情况的图。在媒介300中,首先,当检测到对文件的写入访问指示时,读取FAT文件系统中的目录(步骤S241)。然后,搜索并写入目标用户数据1(步骤S242)。在写入用户数据1之后,把对用户数据1进行的写入处理的内容反映在FAT1中(步骤S243)。随后,把对用户数据1进行的写入处理的内容反映在FAT2中(步骤S244)。此外,当在对用户数据2的数据存储处理期间发生了电源关断时,用户数据2中出现数据错误。
接着,对在用户数据2中出现了数据错误的状态下进行读取处理的情况进行说明。图39是用于解释在出现了参照图38说明的电源关断之后进行的读取处理的图。在媒介300中,首先,当检测到对文件的读取访问指示时,读取FAT文件系统中的目录(步骤S251),随后读取FAT1(步骤S252)。然后,读取用户数据1(步骤S253)。接着,当读取FAT1(步骤S254)以及读取用户数据2(步骤S255)时,由于中断的数据存储处理(参照图38)而在文件中出现了读取错误。在这种情况下,当仅仅是出现了读取错误的那个文件变得不能访问时,其它用户数据和管理信息不会受到该读取错误的影响。
接着,对在对目录的数据存储处理期间出现了电源关断的情况进行说明。图40是用于解释在写入文件访问处理(与目录相关)期间出现了电源关断情况的图。在媒介300中,首先,当检测到对文件的写入访问指示时,读取FAT文件系统中的目录(步骤S261)。然后,搜索并写入目标用户数据(步骤S262)。在写入用户数据之后,把对用户数据进行的写入处理的内容反映在FAT1中(步骤S263)。随后,把对被写入的用户数据进行的写入处理的内容反映在FAT2中(步骤S264)。假设是由于改变用户数据因而当进行对目录的数据存储处理时(步骤S265)出现了电源关断。
接着,对在目录中出现了数据错误之后进行的读取处理的情况进行说明。图41是用于说明在出现了参照图38说明的电源关断之后进行的读取处理的图。在媒介300中,当检测到对文件的读取访问指示时,读取FAT文件系统中的目录(步骤S271)。但是,在目录访问期间出现了读取错误。除了被电源关断中断了数据存储处理的那个文件变得不能访问之外,在该同一目录中存在的全部文件也变得不能访问。当在BPB或者PBR中出现了数据错误时,媒介300不能被作为媒介识别出来,并且全部用户数据变得不能访问。
由于对管理信息的访问次数高于用户数据,因而考虑到数据保持特性,根据上面提到的主要因素由管理信息引起数据错误的可能性比由用户数据引起数据错误的可能性更高。当在管理信息中出现了数据错误时,该数据错误与在用户数据中出现的数据错误相比会给用户造成更大的混乱和更严重的损失。因此,与用户数据相比必须更加安全地将管理信息记录并存储在媒介中,并且必须防止出现数据错误,从而实现对用户具有高可靠度的存储系统。
近年来,尽管随着半导体工艺的发展,存储元件的存储容量已变得很大,但存储单元(memory cell)的特性变得劣化。存储单元的被劣化的特性是导致发生软错误或者在上面提到的集中访问期间出现数据错误的可能性增大的主要因素之一。
图42示出了相关技术的媒介的内部结构的另一示例。与图30所示的示例相比,图42所示的示例包括用于高速处理的高速缓存区域(cachearea)和应付高速缓存处理的媒介控制器310A。即,媒介控制器310A除了包括用户数据用NVM控制部331之外还包括高速缓存用NVM控制部332。
图43示出了相关技术的媒介的内部结构的另一示例,即包括与高速缓存兼容的存储元件的示例(混合(hybrid))。该媒介除了包括普通的非易失性存储元件350B之外还包括高速缓存用非易失性存储元件360。于是,在安装了两种类型的存储元件的情况下,该媒介包括分别用于各存储元件的NVM接口341和342。
图44是示出了在图42和图43所示媒介中进行的READ_DATA处理的流程图。在媒介300中,当在从主机400发送来的序列中检测到用于READ_DATA的指令时,判断目标数据是否为高速缓存(cache)上的数据(步骤S271)。当目标数据不是高速缓存上的数据时,用户数据用NVM控制部331从非易失性存储元件350或者350B读取目标数据(步骤S272)。相反,当目标数据是高速缓存上的数据时,高速缓存用NVM控制部332从预定的高速缓存区域或者高速缓存用非易失性存储元件360读取目标数据(步骤S273)。
图45是用于解释在图42和图43所示媒介中进行的WRITE_DATA处理的流程图。在媒介300中,当在从主机400发送来的序列中检测到用于WRITE_DATA的指令时,判断在高速缓存中是否存在用于写入目标数据的自由空间(free space)(步骤S281)。当高速缓存中不存在自由空间时,用户数据用NVM控制部331在高速缓存中生成自由空间(步骤S282),并且该处理进入步骤S283。相反,当在高速缓存中存在自由空间时,高速缓存用NVM控制部332将目标数据写入到预定的高速缓存区域或者高速缓存用非易失性存储元件360(步骤S283)。
然而,对于图42~图45所示的技术而言,很难防止对管理信息的访问次数变得非常大,与对用户数据的存储相比很难更加安全地将管理信息记录、存储在媒介中,并且也很难防止出现数据错误。
另外,专利文献1(见日本专利申请公开公报No.2008-176677)披露了这样的技术:为了防止电源关断导致数据错误,根据是否实施了针对电源关断的对策而在两个非易失性存储器控制构件之间进行切换。
然而,在专利文献1中披露的技术并不是针对对管理信息的集中访问和存储单元特性劣化的充分对策。此外,还存在这样的问题:在根据是否实施了针对电源关断的对策来进行切换的情况下,其结果是,存储在存储器中的数据的格式和内容是不同的。
发明内容
因此,鉴于上述问题,期望采取针对管理信息的集中访问和存储单元的特性劣化的充分对策,与用户数据相比更加安全地将管理信息记录并存储在媒介中,并且防止出现数据错误。
根据本发明的实施例,提供一种非易失性存储装置,所述非易失性存储装置包括:非易失性存储构件,其用于存储用户数据和管理信息,所述管理信息用于在文件系统上对所述用户数据进行管理;以及媒介控制器,其被配置为判断从主机装置输入过来的且表示对所述用户数据或者所述管理信息进行的处理内容的指令是用于所述用户数据还是用于所述管理信息,并且基于判断结果在用于所述非易失性存储构件的各控制方法之间进行切换。
根据本发明的实施例,提供一种信息记录系统,所述信息记录系统包括主机装置和上述非易失性存储装置,所述主机装置被配置为包括应用程序处理部、文件系统控制部和媒介控制部。所述应用程序处理部被配置为执行文件访问指示。所述文件系统控制部被配置为基于由所述应用程序处理部执行的所述文件访问指示来生成表示对用户数据或者管理信息进行的处理内容的指令,所述管理信息用于在文件系统上对所述用户数据进行管理。所述媒介控制部被配置为将用于所述用户数据或者所述管理信息的所述指令传送到非易失性存储装置。
根据本发明的实施例,提供一种信息记录方法,所述信息记录方法包括如下步骤:接收从主机装置输入过来的指令,所述指令表示作为待处理对象的数据是用户数据还是管理信息;判断所接收到的所述指令是用于所述用户数据还是用于所述管理信息;基于上述判断结果在用于非易失性存储构件的各控制方法之间进行切换,所述非易失性存储构件存储有所述用户数据和用于在文件系统上对所述用户数据进行管理的所述管理信息;以及根据切换到的控制方法,将所述用户数据或者所述管理信息记录在所述非易失性存储构件中。
在本发明的实施例中,接收从主机装置输入过来的表示作为待处理对象的数据是用户数据还是管理信息的指令,并且判断接收到的所述指令是用于所述用户数据还是用于所述管理信息。基于上述判断结果,在用于所述非易失性存储构件的各控制方法之间进行切换,所述非易失性存储构件存储有所述用户数据和用于在文件系统上对所述用户数据进行管理的所述管理信息。然后,根据切换到的控制方法,将所述用户数据或者所述管理信息记录在所述非易失性存储构件中。
在上述结构中,由于能够指定把从主机装置发送到非易失性存储装置的指令用于管理信息,因而非易失性存储装置检测到该指定并且切换到确实能够将管理信息存储为处于安全状态的控制方法。
此外,在上述结构中,所述非易失性存储装置包括:第一非易失性存储器,其被配置为存储所述用户数据;以及第二非易失性存储器,其被配置为比所述第一非易失性存储器更加可靠地存储数据,并且被配置为存储用于在文件系统上对所述用户数据进行管理的所述管理信息。然后,基于从所述主机装置输入的且表示作为待处理对象的数据是用户数据还是管理信息的指令,所述媒介控制器控制在所述第一非易失性存储器与所述第二非易失性存储器之间的切换并控制数据的存储。
在上述结构中,由于高可靠度的非易失性存储器被设置用于管理信息,因而能降低在管理信息中出现数据错误的可能性。
此外,在上述结构中,通过使用表示作为待处理对象的数据是用户数据还是管理信息的指令,媒介控制器判断从主机输入的数据是否用于管理信息。当该数据是用于管理信息时,媒介控制器控制将错误校正码附加给管理信息并控制在非易失性存储器中对将管理信息的存储,所述错误校正码与所述用户数据的错误校正码相比具有更高的错误校正能力。
在上述结构中,由于把具有更高错误校正能力的错误校正码附加给管理信息,因而能够降低在管理信息中出现数据错误的可能性。
此外,在上述结构中,通过使用表示作为待处理对象的数据是用户数据还是管理信息的指令,媒介控制器判断从主机输入的数据是否用于管理信息。当该数据是用于管理信息时,媒介控制器控制将所述管理信息两次写入到所述非易失性存储器中。
在上述结构中,由于在两点处写入相同的管理信息(双写入),因而管理信息可以在该两点中的任一点处被存储成处于安全状态,并且能够防止出现数据错误。
附图说明
图1是用于解释本发明第一实施例的媒介的内部结构的框图;
图2是用于解释图1所示的NVM控制部的内部结构的框图;
图3是用于解释本发明第一实施例的主机的内部结构的框图;
图4是用于解释图3所示主机中的软件层的图;
图5是用于解释通过图1所示媒介进行的读取/写入处理的流程图;
图6是用于解释本发明第一实施例的指令示例(1)的图;
图7是用于解释响应于SET_MNG指令进行的对媒介的处理的流程图;
图8是用于解释响应于CLR_MNG指令进行的对媒介的处理的流程图;
图9是用于解释本发明第一实施例的指令示例(2)的图;
图10是用于解释响应于图9所示指令在协议识别部中进行的识别处理的流程图;
图11是用于解释本发明第一实施例的指令示例(3)的图;
图12是用于解释响应于图11所示指令在协议识别部中进行的识别处理的流程图;
图13是用于解释本发明第一实施例的指令示例(4)的图;
图14是用于解释响应于图13所示指令在协议识别部中进行的识别处理的流程图;
图15是用于解释本发明第二实施例的媒介的内部结构的框图;
图16是用于解释本发明第三实施例的媒介的内部结构的框图;
图17是用于解释本发明第四实施例的媒介的内部结构的框图;
图18是用于解释对图16和图17所示媒介的读取处理的流程图;
图19是用于解释对图16和图17所示媒介的写入处理的流程图;
图20是用于解释响应于SET_MNG指令进行的对图16和图17所示媒介的处理的流程图;
图21是用于解释响应于CLR_MNG指令进行的对图16和图17所示媒介的处理的流程图;
图22是用于解释根据本发明第五实施例用于管理信息的NVM控制算法的图;
图23是用于解释基于图22所示NVM控制算法-1的读取处理的流程图;
图24是用于解释基于图22所示NVM控制算法-1的写入处理的流程图;
图25是用于解释在图24所示的基于NVM控制算法的处理期间出现了电源关断的情况的图;
图26是用于解释基于图22所示NVM控制算法-2的读取处理(2)的流程图;
图27是用于解释基于图22所示NVM控制算法-2的写入处理(2)的流程图;
图28是用于解释在图27所示的基于NVM控制算法的处理期间出现了电源关断的情况的图;
图29是用于解释本发明第六实施例的主机计算机的内部结构的框图;
图30是用于解释相关技术的媒介的内部结构(1)的框图;
图31是用于解释图30所示的主机计算机中的软件层的图;
图32A是用于解释响应于读取指令进行的对媒介的处理的流程图;
图32B是用于解释响应于写入指令进行的对媒介的处理的流程图;
图33是用于解释作为文件系统示例的FAT文件系统的存储空间示例的图;
图34是用于解释安装处理的流程图;
图35是用于解释读取文件访问处理的流程图;
图36是用于解释写入文件访问处理的流程图;
图37是用于解释写入处理中的序列示例的图;
图38是用于解释在写入文件访问处理(与用户数据相关)期间出现了电源关断的情况的图;
图39是用于解释在写入文件访问处理(与用户数据相关)期间出现了电源关断之后在读取文件访问处理(与用户数据相关)期间出现错误的情况的图;
图40是用于解释在写入文件访问处理(与目录相关)期间出现了电源关断的情况的图;
图41是用于解释在写入文件访问处理(与目录相关)期间出现了电源关断之后在读取文件访问处理(与目录相关)期间出现错误的情况的图;
图42是用于解释相关技术的媒介的内部结构(2)的框图;
图43是用于解释相关技术的媒介的内部结构(3)的框图;
图44是用于解释在图42和图43所示媒介中进行的READ_DATA处理的流程图;以及
图45是用于解释在图42和图43所示媒介中进行的WRITE_DATA处理的流程图。
具体实施方式
下面参照附图按照以下顺序对本发明的优选实施例进行说明。
1.第一实施例(存储元件:包括两种类型的分别用于用户数据和管理信息的存储元件的示例)
2.第二实施例(存储元件:包括既用于用户数据又用于管理信息的同一个存储元件的示例)
3.第三实施例(NVM控制部:包括非易失性高速缓存区域(nonvolatilecache area)的示例)
4.第四实施例(NVM控制部:包括用于用户数据的易失性高速缓存区域(volatile cache area)的示例)
5.第五实施例(包括NVM控制算法之间的切换的示例)
6.第六实施例(关于一体形成有主机和媒介的结构的示例)
1.第一实施例
下面对用作从媒介中读取数据并将数据写入到媒介上的主机装置的信息记录装置(以下称作“主机”)以及包括所述媒介的存储系统进行说明。媒介是包括半导体存储元件且可电重写的非易失性存储装置。诸如上述的数码相机、上述的移动电话终端和上述的个人计算机等各种类型的信息记录装置被应用于主机。
根据本发明的实施例,能够通过被主机访问的媒介来判断该媒介中的数据是用户数据还是管理信息。媒介包括被配置为在两种类型的存储元件之间即在用于用户数据的大容量存储元件和用于管理信息的小容量存储元件之间进行切换并对数据进行存储的构件。此外,以下将非易失性存储元件称作“NVM”。
图1是用于解释本发明第一实施例的媒介的内部结构的框图。存储系统包括主机100和媒介1。媒介1包括媒介控制器10、非易失性存储元件(NVM)80和高可靠度非易失性存储元件90。媒介控制器10包括主机接口20、协议识别部30、NVM控制选择部40、用户数据用NVM控制部50、管理信息用NVM控制部60以及NVM接口71和72。
协议识别部30判断用于通过主机接口20从主机100接收到的数据的协议,并且将判断结果输出到NVM控制选择部40。NVM控制选择部40基于该判断结果选择两个NVM控制部中的一个以供使用,并且在这两个NVM控制部之间进行切换。被选择的NVM控制部控制着对应的存储元件,并且在该存储元件上读取或者写入数据。这样,实现了作为存储装置的操作。下面对协议识别部30的操作进行说明。
图2是用于解释用户数据用NVM控制部50和管理信息用NVM控制部60的内部结构的框图。由于这两个NVM控制部的结构相同,因此参照图2对它们进行统一说明。NVM控制部被用于实现对非易失性存储元件的诸如读取(Read)、写入(Write)、擦除(Erase)和复制(Copy)等存储功能,并且包括都用来控制NVM的NVM控制算法部50A和NVM控制电路50B。由于NVM控制部的结构是现有的结构,因而对该结构仅进行简要说明。
NVM控制算法部50A包括空块管理部(empty block managementsection)50A1、逻辑-物理地址转换部(logical-to-physical address translationsection)50A2和缺陷块管理部(defective block management section)50A3。空块管理部50A1管理非易失性存储元件中的使用状态。然后,逻辑-物理地址转换部50A2参照逻辑-物理地址转换表将逻辑地址转换为物理地址,该逻辑-物理地址转换表是用于把由主机100指定的逻辑地址转换为在非易失性存储元件中使用的物理地址的表格。此外,缺陷块管理部50A3管理在非易失性存储元件中出现的缺陷块。这些缺陷块在媒介1中受到控制,以便不会被用作用于存储从主机100发送来的数据的区域。
此外,NVM控制电路50B包括NVM指令控制电路50B 1和ECC(错误校正码)电路50B2。NVM控制部根据非易失性存储元件的不同而不同。另外,NVM控制部根据用户数据用、管理信息用和高速缓存用的不同而不同。NVM指令控制电路50B1基于由指令表示的处理内容在非易失性存储元件上进行读取/写入处理。ECC电路50B2把用于校正错误的错误校正码(以下称作“ECC数据”)附加给从主机100接收到的数据。
主机的结构示例
图3是用于解释主机的内部结构的框图。主机100包括应用程序处理部110、文件系统控制部120、媒介控制部130和媒介接口140。文件系统控制部120包括管理信息控制部121和用户数据控制部122。媒介控制部130包括数据传输缓存器131,该数据传输缓存器131包括管理信息缓存部131-1和用户数据缓存部131-2。
图4是用于解释图3所示的主机中的软件层的图。如图4所示,该软件层包括分别对应于图3中各块的应用程序150、文件系统160和媒介控制驱动器170。当根据用户的操作进行文件访问时,应用程序150通过文件系统160来指示对文件的访问。
由主机100通过使用文件系统160进行访问的媒介1中的数据包括诸如用户数据和文件系统所使用的管理信息等两种类型的数据。用户数据是由用户通过使用应用程序而创建的数据文件。另一方面,管理信息用于管理在媒介中存储的全部用户数据的重要数据。目前,以FAT文件系统为例,管理信息包括BIOS参数块(BPB)、分区引导记录(PBR)、FAT1、FAT2、根目录和目录。这两种类型的数据被分配在与主机相关的一个存储空间中。
在文件系统160中,管理信息控制部161和用户数据访问部162分别对管理信息和用户数据进行控制(访问控制)。然后,文件系统160把用于管理信息和用户数据的各个数据访问指示输出到媒介控制驱动器170。
媒介控制驱动器170是控制媒介控制部130的软件。于是,当媒介控制驱动器170从文件系统160接收数据访问指示时,媒介控制驱动器170将媒介控制指令和参数输出到媒介接口140。根据本发明的实施例,管理信息和用户数据作为分别具有不同协议的数据被输出到媒介控制驱动器170,并且媒介1能够判断出数据是管理信息还是用户数据。
当媒介接口140从媒介控制驱动器170接收到数据访问指示时,媒介接口140将具有媒介访问协议的数据输出到媒介1。也就是说,媒介接口140把分别被管理信息缓存部131-1和用户数据缓存部131-2缓存的管理信息和用户数据同步输出到媒介1。输出到媒介1的数据包括应用程序中所使用的读取/写入指令的发送模式(序列)。
图5是用于解释通过媒介1进行的读取/写入处理的流程图。当媒介1从主机100接收到读取/写入序列时,判断由协议识别部30接收到的序列中的指令是否与用于管理信息的协议对应(步骤S1)。当指令与用于管理信息的协议不对应时,用户数据用NVM控制部50控制非易失性存储元件80(步骤S2)。另一方面,当指令与用于管理信息的协议对应时,管理信息用NVM控制部60控制高可靠度非易失性存储元件90(步骤S3)。
根据本发明的实施例,作为用于将数据从主机存储到媒介中的协议,用于用户数据和管理信息的两种协议的具体形式如下:
(1)用于设定或者取消数据是管理信息的条件的指令示例(图6中)
在不改变指定扇区区域中的数据的情况下,能够设定或者取消数据是管理信息的条件。
(2)当管理信息和用户数据使用共用指令时,利用参数来指定数据是管理信息的条件(图9中)
能够同时进行条件的设定和实际数据的存储。
(3)管理信息和用户数据分别使用专用访问指令的示例(图11中)
虽然该情况(3)具有与情况(2)相同的优点,但情况(3)和情况(2)的指令格式不同。
(4)用于设定下一个要被执行的指令是管理信息访问的条件的指令示例(图13中)
第一协议
图6是示出了从主机100向媒介1发送的序列示例(1)的图。本示例是用于指定作为被指令访问的数据属性的管理信息区域的方法。例如,使用诸如SET_MNG(扇区地址、扇区数量)或者CLR_MNG(扇区地址、扇区数量)等指令(协议)。SET_MNG是用于设定该地址中所存储的数据是管理信息的条件的指令。然后,CLR_MNG是用于设定该地址中所存储的数据不是管理信息的条件的指令。图7和图8示出了用于对这些指令进行说明的流程图。图7说明了用于将数据属性从用户数据改变成管理信息的处理。图8说明了用于将数据属性从管理信息改变成用户数据的处理。由于在非易失性存储元件上进行的用于改变数据属性的存储方法对管理信息和用户数据而言是不同的,因而必须在改变数据属性之前通过使用与数据属性对应的方法来读取数据,并且必须在改变数据属性之后通过使用与数据属性对应的方法来写入数据。
下面参照图7所示的流程图对用于将数据属性从用户数据改变成管理信息的处理(响应于SET_MNG指令进行的对媒介的处理)进行说明。当协议识别部30检测到SET_MNG指令时,首先,NVM控制选择部40切换到用户数据用NVM控制部50,并且用户数据用NVM控制部50控制对用户数据的读取处理(步骤S11)。接着,NVM控制选择部40切换到管理信息用NVM控制部60,并且管理信息用NVM控制部60控制对管理信息的写入处理(步骤S12)。最后,NVM控制选择部40切换到用户数据用NVM控制部50,并且用户数据用NVM控制部50控制对用户数据的擦除处理(步骤S13)。
下面参照图8所示的流程图对用于将数据属性从管理信息改变成用户数据的处理(响应于CLR_MNG指令进行的对媒介的处理)进行说明。当协议识别部30检测到CLR_MNG指令时,首先,NVM控制选择部40切换到管理信息用NVM控制部60,并且管理信息用NVM控制部60控制对用户数据的读取处理(步骤S21)。接着,NVM控制选择部40切换到用户数据用NVM控制部50,并且用户数据用NVM控制部50控制对用户数据的写入处理(步骤S22)。最后,NVM控制选择部40切换到管理信息用NVM控制部60,并且管理信息用NVM控制部60控制对管理信息的擦除处理(步骤S23)。
在对扇区的实际访问中,可以将与相关技术的指令相同的指令用于管理信息和用户数据。在该协议中,能够在对数据进行存储之后改变该数据的属性,并且与其它协议组合地使用该协议也是有效的。
第二协议
图9是用于解释从主机100向媒介1发送的序列示例(2)的图。本示例是用于在从主机100向媒介1进行访问的同时对属性进行设定的方法。例如,使用诸如WRITE_DATA(扇区地址、扇区数量、MNG标记)或者READ_DATA(扇区地址、扇区数量、MNG标记)等指令(协议)。然后,利用作为参数而给出的值来识别出要被上述指令进行处理的数据的属性。
图10的流程图用于解释响应于使用第二协议的指令在协议识别部中进行的识别处理。当媒介1从主机100接收到读取/写入序列时,协议识别部30基于指令的参数来判断所接收到的序列中的指令是否与用于管理信息的协议对应(步骤S31)。当MNG标记是Off(MNG=Off)时,判定该指令用于用户数据。因此,选择用户数据用NVM控制部50从而控制非易失性存储元件80。另一方面,当MNG标记是On(MNG=On)时,判定该指令用于管理信息。因此,选择管理信息用NVM控制部60从而控制高可靠度非易失性存储元件90。
第三协议
图11是用于解释从主机100向媒介1发送的序列示例(3)的图。与第二协议相同,本示例是用于在从主机100向媒介1进行访问的同时对属性进行设定的方法。例如,使用诸如WRITE_MNG(扇区地址、扇区数量)或者READ_MNG(扇区地址、扇区数量)等指令(协议)。然后,通过分析操作码,判断该指令是否进行对管理信息的处理。
图12是用于解释响应于使用第三协议的指令在协议识别部中进行的识别处理的流程图。当媒介1从主机100接收到读取/写入序列时,协议识别部30通过分析操作码来判断所接收到的序列中的指令是否与用于管理信息的协议对应(步骤S41)。当分析结果表明指令与用户数据码对应时,判定该指令用于用户数据。因此,选择用户数据用NVM控制部50从而控制非易失性存储元件80。另一方面,当分析结果表明指令与管理信息码对应时,判定该指令用于管理信息。因此,选择管理信息用NVM控制部60从而控制高可靠度非易失性存储元件90。
第四协议
图13是用于解释从主机100向媒介1发送的序列示例(4)的图。本示例是用于将访问指令的属性设成管理信息访问的方法。例如,使用诸如SET_MNG_ACCESS()等指令(协议)。
图14是用于解释响应于使用第四协议的指令在协议识别部中进行的识别处理的流程图。当媒介1从主机100接收到读取/写入序列时,协议识别部30通过分析操作码来判断所接收到的序列中的指令是否与用于管理信息的协议对应(步骤S51)。当分析结果表明前一个指令是SET_MNG_ACCESS时,判定指令用于管理信息。因此,选择管理信息用NVM控制部60从而控制高可靠度非易失性存储元件90。另一方面,当分析结果表明前一个指令是除了SET_MNG_ACCESS之外的指令时,判定指令用于用户数据。因此,选择用户数据用NVM控制部50从而控制非易失性存储元件80。
过去,对于媒介来说,没有办法确定地判断从主机发送来的数据是用户数据还是管理信息。于是,如图33所示,通过把用于系统所使用的文件系统和媒介上的逻辑格式映射(logical format map)的地址都固定下来,可以基于扇区地址来判断数据是否为管理信息。然而,由于存在诸如扇区地址自由改变的目录等管理信息,因而对于全部管理信息而言很难判断数据是否为管理信息。此外,由于管理信息所使用的地址根据文件系统而改变,因而一个媒介很难应付多个文件系统。于是,用于判断管理信息的方法对各个文件系统是不同的,这也是使媒介难以判断管理信息的原因之一。
另一方面,在上述第一实施例中,媒介具有判断从主机接收的协议是与用户数据对应还是与管理信息对应的功能。然后,媒介基于判断结果来选择对应的NVM控制部从而对非易失性存储元件进行访问。因此,主机能够指定协议是与用户数据对应还是与管理信息对应。因此,当依赖应用程序的重要信息存在于用户数据中时,媒介能够以与管理信息相同的方式安全地存储该重要信息。
在本发明的第一实施例中,通过针对对管理信息的集中访问采取充分对策,能够降低在管理信息中出现数据错误的可能性。此外,近年来,随着半导体工艺的发展,存储元件的存储容量变得越来越大,但存储器的数据保持特性变得劣化。于是,例如,即使在将具有劣化的数据保持特性的存储器用作用于用户数据的存储器时,也可以将具有优良数据保持特性的小容量的存储元件用作用于管理信息的存储器。因此,能够减少在管理信息中出现的数据错误。具体地,对管理信息使用NOR(或非)型存储器,并且对用户数据使用NAND(与非)型存储器。此外,可以对管理信息使用单层单元(Single-Level-Cell,SLC)存储器,并且可以对用户数据使用多层单元(Multi-Level-Cell,MLC)存储器。通常,用于管理信息的存储元件比用于用户数据的存储元件昂贵。
在第一实施例中,在存储管理信息时,用于管理信息的存储元件比用于用户数据的存储元件具有更好的特性。例如,具有优良数据保持特性的存储元件、具有较高的重写保证次数的存储元件或者具有较短程序时间或较短擦除时间的存储元件被用于管理信息。然后,用于大容量非易失性存储元件的NVM控制电路被设置为用户数据用NVM控制部,并且用于高可靠度非易失性存储元件的NVM控制电路被设置为管理信息用NVM控制部。
2.第二实施例
在第二实施例中,对用户数据和管理信息使用同一个非易失性存储元件。此外,存储有用于管理信息的错误校正码的区域的大小得到扩展。然后,对附加有错误校正码的管理信息进行存储,该错误校正码与附加给用户数据的错误校正码相比具有更高的错误校正能力。
图15是用于解释本发明第二实施例的媒介的内部结构的框图。与第一实施例(图1中)相比,本示例包括用于用户数据用存储元件和管理信息用存储元件的同一非易失性存储元件80A。媒介控制器10A与非易失性存储元件80A之间的数据传输通过NVM接口70进行。然后,管理信息用NVM控制部60中所包含的ECC电路50B2与附加给用户数据的ECC电路相比具有更高的错误校正能力。因此,由于所生成的ECC码的数据大小变大,因而用于ECC码的区域能够在非易失性存储元件80A上得到保证。
这样,在第二实施例中,通过针对对管理信息的集中访问采取如下的充分对策,能够降低在管理信息中出现数据错误的可能性,所述对策是:存储被附加了比附加给用户数据的错误校正码具有更高的错误校正能力的错误校正码的管理信息。结果,第二实施例具有与第一实施例同样的功能和效果。
3.第三实施例
在第三实施例中,媒介控制器中的各个NVM控制部都设置有非易失性高速缓存区域。
图16是用于解释本发明第三实施例的媒介的内部结构的框图。在第三实施例中,媒介1B中的媒介控制器10B包括用户数据高速缓存用NVM控制部51和用户数据用NVM控制部52,该用户数据高速缓存用NVM控制部51包括高速缓存存储器51A。此外,媒介控制器10B包括管理信息高速缓存用NVM控制部61和管理信息用NVM控制部62,该管理信息高速缓存用NVM控制部61包括高速缓存存储器61A。因此,由于对于用户数据和管理信息来说都必需有各自的NVM控制选择部,因而设置有NVM控制选择部41和42。
在第三实施例中,虽然高速缓存区域可以以与用于用户数据的存储器相同的方式包括非易失性存储元件,但安装该非易失性存储元件的目的在于使从主机进行的访问高速化,并且用于该非易失性存储元件的控制方法不同于用于用户数据的控制方法。稍后将对用于非易失性存储元件的控制方法进行说明。第三实施例中的其它部分具有与第一实施例同样的功能和效果。
4.第四实施例
在第四实施例中,媒介控制器中的各个NVM控制部都设置有高速缓存区域。然而,采用了具有大容量的高速可访问易失性存储器(high-speed accessible volatile memory)作为用于用户数据的高速缓存区域。
图17是用于解释本发明第四实施例的媒介的内部结构的框图。在第四实施例中,媒介1C中的媒介控制器10C包括用户数据高速缓存用NVM控制部53和用户数据用NVM控制部52,该用户数据高速缓存用NVM控制部53包括高速缓存存储器53A。此外,媒介控制器10C包括管理信息高速缓存用NVM控制部61和管理信息用NVM控制部62,该管理信息高速缓存用NVM控制部61包括高速缓存存储器61A。
在第四实施例中,与第三实施例相比,管理信息的安全性得到保持,并且还能够对用户数据进行更高速的访问。然而,在这种情况下,当出现了电源关断时,还未写入到非易失性存储元件中的用户数据消失。
接着,对图16和图17所示媒介的操作进行说明。图18是用于解释对图16和图17所示媒介的读取处理的流程图。当媒介从主机100接收到读取序列时,判断通过协议识别部30接收到的序列中的指令是否与用于管理信息的协议对应(步骤S61)。当指令与用于管理信息的协议不对应时,处理进入步骤S62。另一方面,当指令与用于管理信息的协议对应时,处理进入步骤S65。
当在步骤S61中指令与用于管理信息的协议不对应时,媒介判断目标数据是否为用户数据高速缓存存储器上的数据(步骤S62)。当目标数据不是用户数据高速缓存存储器上的数据时,用户数据用NVM控制部控制非易失性存储元件80(步骤S63)。另一方面,当目标数据是用户数据高速缓存存储器上的数据时,用户数据高速缓存用NVM控制部从用户数据高速缓存存储器读取目标数据(步骤S64)。
另一方面,当在步骤S61中指令与用于管理信息的协议对应时,媒介判断目标数据是否为管理信息高速缓存存储器上的数据(步骤S65)。当目标数据不是管理信息高速缓存存储器上的数据时,管理信息用NVM控制部控制高可靠度非易失性存储元件90(步骤S66)。另一方面,当目标数据是管理信息高速缓存存储器上的数据时,管理信息高速缓存用NVM控制部从管理信息高速缓存存储器读取目标数据(步骤S67)。
图19是用于解释对图16和图17所示媒介的写入处理的流程图。当媒介从主机100接收到写入序列时,判断通过协议识别部30接收到的序列中的指令是否与用于管理信息的协议对应(步骤S71)。当指令与用于管理信息的协议不对应时,处理进入步骤S72。另一方面,当指令与用于管理信息的协议对应时,处理进入步骤S75。
当在步骤S71中指令与用于管理信息的协议不对应时,媒介判断在用户数据高速缓存存储器中是否存在用于写入目标数据的自由空间(步骤S72)。当用户数据高速缓存存储器中不存在自由空间时,用户数据用NVM控制部在高速缓存区域中生成自由空间(步骤S73),然后处理进入步骤S74。另一方面,当在高速缓存区域中存在自由空间时,用户数据高速缓存用NVM控制部将目标数据写入到高速缓存区域中(步骤S74)。
另一方面,当在步骤S71中指令与用于管理信息的协议对应时,媒介判断在管理信息高速缓存存储器中是否存在用于写入目标数据的自由空间(步骤S75)。当在管理信息高速缓存存储器中不存在自由空间时,管理信息用NVM控制部在高速缓存区域中生成自由空间(步骤S76),然后处理进入步骤S77。另一方面,当在高速缓存区域中存在自由空间时,管理信息高速缓存用NVM控制部将目标数据写入到高速缓存区域中(步骤S77)。
图20是用于解释响应于SET_MNG指令进行的对图16和图17所示媒介的处理的流程图。当媒介检测到从主机100发送来的SET_MNG指令时,判断目标数据是否为用户数据高速缓存存储器上的数据(步骤S81)。当目标数据不是用户数据高速缓存存储器上的数据时,处理进入步骤S82。另一方面,当目标数据是用户数据高速缓存存储器上的数据时,处理进入步骤S83。
接着,用户数据用NVM控制部控制对用户数据的读取处理(步骤S82)。然后,用户数据高速缓存用NVM控制部控制对用户数据的读取处理(步骤S83)。接着,NVM控制选择部切换至管理信息高速缓存用NVM控制部,并且该管理信息高速缓存用NVM控制部控制对管理信息的写入处理(步骤S84)。最后,当用户数据高速缓存用NVM控制部控制对用户数据的擦除处理(步骤S85)后,NVM控制选择部切换到用户数据用NVM控制部,并且该用户数据用NVM控制部控制对用户数据的擦除处理(步骤S86)。
图21是示出了响应于CLR_MNG指令进行的对图16和图17所示媒介的处理的流程图。
当媒介检测到从主机100发送来的CLR_MNG指令时,判断目标数据是否为管理信息高速缓存存储器上的数据(步骤S91)。当目标数据不是管理信息高速缓存存储器上的数据时,处理进入步骤S92。另一方面,当目标数据是管理信息高速缓存上的数据时,处理进入步骤S93。
接着,管理信息用NVM控制部控制对管理信息的读取处理(步骤S92)。然后,管理信息高速缓存用NVM控制部控制对管理信息的读取处理(步骤S93)。接着,NVM控制选择部切换至用户数据高速缓存用NVM控制部,并且该用户数据高速缓存用NVM控制部控制对用户数据的写入处理(步骤S94)。最后,当管理信息高速缓存用NVM控制部控制对管理信息的擦除处理(步骤S95)后,NVM控制选择部切换至管理信息用NVM控制部,并且该管理信息用NVM控制部控制对管理信息的擦除处理(步骤S96)。
在第三和第四实施例中,用户数据用NVM控制部和管理信息用NVM控制部可分别装载有高速缓存存储器。能够分别为用户数据和管理信息选择最优的高速缓存算法。结果,第三和第四实施例具有与第一实施例同样的功能和效果。
5.第五实施例
在第五实施例中,同一非易失性存储元件(参照图15)被用于用户数据和管理信息,并且通过在用于管理信息的各NVM控制算法之间进行切换来实现高可靠度的数据存储。可以分别为用户数据和管理信息设置NVM控制部中的NVM控制电路(参照图2),或者作为替代,可以为用户数据和管理信息设置共用的NVM控制电路。作为图2所示的NVM控制算法部50A的示例,假设具有两种方法。在其中任一方法中,将两个不同块中的页分配给数据单位。“块”对应于非易失性存储元件中的物理单位。“页”对应于被控制的数据的单位。下面参照图22对两种算法进行说明。
(1)NVM控制算法-1:双写入
当更新数据(一页)时,对各个块A和块B中的一页进行更新。在该方法中,区域大小扩展至2倍,并且在每次更新时将待存储的区域存储在两页中。
(2)NVM控制算法-2:交替写入
在每次更新数据(一页)时,对块A中的一页和块B中的一页进行交替更新。在该方法中,区域大小变成2倍以对数据进行双存储,并且交替选择块A中的一页和块B中的一页。
在上述任一算法中,在对数据进行存储直至最后一页之后,对两个新的块进行分配,并且将旧块中的数据擦除。
NVM控制算法-1
图23是用于解释基于NVM控制算法-1的读取处理的流程图。管理信息用NVM控制部找到块A中的读取来源页的地址(步骤S101),然后读取管理信息(步骤S102)。此时,判断是否出现了数据错误(步骤S103)。当出现了数据错误时,处理进入步骤S104。当未出现数据错误时,结束处理。当在步骤S103中判定出现了数据错误时,找到块B中的读取来源页的地址(步骤S104)。然后,读取管理信息(步骤S105),并且结束处理。
图24是用于解释基于NVM控制算法-1的写入处理的流程图。管理信息用NVM控制部找到块A中的写入目标页的地址(步骤S111),然后写入管理信息(步骤S112)。接着,管理信息用NVM控制部找到块B中的写入目标页的地址(步骤S113)。然后,写入管理信息(步骤S114),并且结束处理。
图25是用于解释在基于NVM控制算法-1的处理期间出现了电源关断的情况的图。图25中的步骤S121~S124分别对应于图24中的步骤S111~S114。
假设在写入目标的页地址对应于“m”的状态下出现了电源关断的情况。
(1)在步骤S122中出现了电源关断的情况:
在块A的读取来源页m中出现数据错误。
在块B的读取来源页m-1中成功地读取数据(被更新之前的旧管理信息)。
(2)在步骤S123中出现了电源关断的情况:
在块A的读取来源页m中成功地读取数据。
块B的读取来源页m处于被擦除状态(更新之后的新管理信息)。
(3)在步骤S124中出现了电源关断的情况:
在块A的读取来源页m中成功地读取数据。
在块B的读取来源页m中出现数据错误(更新之后的新管理信息)。
NVM控制算法-2
图26是用于解释基于NVM控制算法-2的读取处理的流程图。管理信息用NVM控制部选择作为读取来源块的块A或者块B(步骤S131),找到读取来源页的地址(步骤S132),然后读取管理信息(步骤S133)。此时,判断是否出现了数据错误(步骤S134)。当出现了数据错误时,处理进入步骤S131,并且从前一个块开始重复相同的处理。另一方面,当未出现数据错误时,结束处理。
图27是用于解释基于NVM控制算法-2的写入处理的流程图。管理信息用NVM控制部选择作为写入目标块的块A或者块B(步骤S141),找到写入目标页的地址(步骤S142),然后写入管理信息(步骤S143)。在完成步骤S143之后,结束处理。
图28是用于解释在基于NVM控制算法-2的处理期间出现了电源关断的情况的图。图28中的步骤S151~S153分别对应于图27中的步骤S141~S143。
假设在写入目标页的地址对应于“m”的状态下出现了电源关断的情况。
在步骤S153中出现了电源关断的情况下:
(1)写入目标块是块A的情况
在块A的读取来源页m中出现数据错误。
在块B的读取来源页m-1中成功地读取数据。
(2)写入目标块是块B的情况
在块B的读取来源页m中出现数据错误。
在块A的读取来源页m中成功地读取数据。
在上述任一情况中,读取的是被更新之前的旧管理信息。
在上述实施例中,通过针对对管理信息的集中访问采取了如下的充分对策来降低在管理信息中出现数据错误的可能性,所述对策是:分散对管理信息的集中访问。此外,在对管理信息的存储处理期间,可能出现电源关断,或者媒介被拔出。即使在这样的情况下,由于相同的管理信息在两个点处被写入(双写入),因而在这两个点中的任一点处,管理信息可以被存储成处于安全状态,并且能够防止出现数据错误。
本发明的媒介可通过使用上述各实施例中的一个实施例或者将上述各实施例中的一个以上实施例进行组合来实现。
6.第六实施例
在第六实施例中,主机包括媒介,因而主机和媒介是一体形成的。图29是示出了本发明第六实施例主机的内部结构的框图。与图3所示的主机100的结构相比,第六实施例中的主机200包括媒介1。利用该结构,可提供不能拆卸媒介的主机装置(信息记录装置)。此外,在第一至第五实施例中说明的各个媒介能够应用于该媒介1。在这种情况下,能够获得这些实施例中的各个实施例所具有的功能和效果。
能够利用硬件或者软件来进行在上述信息处理装置中进行的一系列处理。不必说的是,能够通过硬件和软件的组合来实现用于进行上述一系列处理的功能。当利用软件进行上述一系列处理时,将包括该软件的程序从程序记录媒介安装到嵌入在专用硬件内的计算机中,或者安装到能够通过安装各种程序来执行各种功能的计算机中,例如通用个人计算机等中。
然后,在本说明书中所说明的各个步骤中进行的处理不仅包括按照本说明书中所说明的顺序以时间序列进行的处理,还可以包括并行进行的、以不同顺序进行的、或者单独进行的处理来代替上述以时间序列进行的处理。
由于上述各实施例是本发明实施例的具体示例,因而各种技术上所需的限定被加于上述各实施例上。然而,除非在上述各实施例的说明中给出了对该实施例的限定,否则本发明实施例不限于上述各实施例。例如,在上述说明中给出的处理时间、处理序列和参数的数值条件仅是优选的示例。此外,用于进行说明的附图中的尺寸、结构和配置仅用于示意性地示出各实施例的示例。
本领域技术人员应当理解,依据设计要求和其他因素,可以在本发明所附的权利要求或其等同物的范围内进行各种修改、组合、次组合及改变。

Claims (10)

1.一种非易失性存储装置,所述非易失性存储装置包括:
非易失性存储构件,其用于存储用户数据和管理信息,所述管理信息用于在文件系统上对所述用户数据进行管理;以及
媒介控制器,其被配置为判断从主机装置输入过来的且表示对所述用户数据或者所述管理信息进行的处理内容的指令是用于所述用户数据还是用于所述管理信息,并且基于判断结果在用于所述非易失性存储构件的各控制方法之间进行切换,
其中,所述非易失性存储构件包括:第一非易失性存储器,其被配置为存储所述用户数据;以及第二非易失性存储器,其被配置为比所述第一非易失性存储器更加可靠地存储数据,并存储用于在文件系统上对所述用户数据进行管理的所述管理信息,
所述媒介控制器包括:
主机接口,其被配置为获取从所述主机装置输入过来的且用于所述用户数据或者所述管理信息的所述指令;
协议识别部,其被配置为基于由所述主机接口获取的且用于所述用户数据或者所述管理信息的所述指令所采用的协议,来判断所述指令是用于所述用户数据还是用于所述管理信息;
第一非易失性存储器控制部,其被配置为控制所述第一非易失性存储器;
第二非易失性存储器控制部,其被配置为控制所述第二非易失性存储器;以及
非易失性存储器控制选择部,其被配置为基于所述协议识别部的判断结果在所述第一非易失性存储器控制部与所述第二非易失性存储器控制部之间进行切换。
2.如权利要求1所述的非易失性存储装置,其中,
所述媒介控制器基于从所述主机装置输入过来的且表示对所述用户数据或者所述管理信息进行的处理内容的所述指令,来控制在所述第一非易失性存储器与所述第二非易失性存储器之间的切换并控制对数据的存储。
3.如权利要求1所述的非易失性存储装置,其中,当从所述主机装置输入过来的且表示对所述用户数据或者所述管理信息进行的处理内容的所述指令用于所述管理信息时,所述媒介控制器控制把错误校正码附加给所述管理信息并控制对所述管理信息的存储,所述错误校正码与所述用户数据的错误校正码相比具有更高的错误校正能力。
4.如权利要求1所述的非易失性存储装置,其中,当从所述主机装置输入过来的且表示对所述用户数据或者所述管理信息进行的处理内容的所述指令用于所述管理信息时,所述媒介控制器控制将所述管理信息两次写入到所述第二非易失性存储器中。
5.一种非易失性存储装置,所述非易失性存储装置包括:
非易失性存储构件,其用于存储用户数据和管理信息,所述管理信息用于在文件系统上对所述用户数据进行管理;以及
媒介控制器,其被配置为判断从主机装置输入过来的且表示对所述用户数据或者所述管理信息进行的处理内容的指令是用于所述用户数据还是用于所述管理信息,并且基于判断结果在用于所述非易失性存储构件的各控制方法之间进行切换,其中,
所述非易失性存储构件包括非易失性存储器,并且
所述媒介控制器包括:
主机接口,其被配置为获取从所述主机装置输入过来的且用于所述用户数据或者所述管理信息的所述指令;
协议识别部,其被配置为基于由所述主机接口获取的且用于所述用户数据或者所述管理信息的所述指令所采用的协议,来判断所述指令是用于所述用户数据还是用于所述管理信息;以及
非易失性存储器控制部,当所述协议识别部的判断结果表明所述指令用于所述管理信息时,所述非易失性存储器控制部控制将所述管理信息两次写入到所述非易失性存储器中。
6.一种非易失性存储装置,所述非易失性存储装置包括:
非易失性存储构件,其用于存储用户数据和管理信息,所述管理信息用于在文件系统上对所述用户数据进行管理;以及
媒介控制器,其被配置为判断从主机装置输入过来的且表示对所述用户数据或者所述管理信息进行的处理内容的指令是用于所述用户数据还是用于所述管理信息,并且基于判断结果在用于所述非易失性存储构件的各控制方法之间进行切换,其中,
所述非易失性存储构件包括非易失性存储器,并且
所述媒介控制器包括:
主机接口,其被配置为获取从所述主机装置输入过来的且用于所述用户数据或者所述管理信息的所述指令,
协议识别部,其被配置为基于由所述主机接口获取的且用于所述用户数据或者所述管理信息的所述指令所采用的协议,来判断所述指令是用于所述用户数据还是用于所述管理信息,
第一非易失性存储器控制部,其被配置为包括第一错误校正电路并且对所述非易失性存储器进行控制,所述第一错误校正电路用于将第一错误校正码附加给待存储的数据,
第二非易失性存储器控制部,其被配置为包括第二错误校正电路并且对所述非易失性存储器进行控制,所述第二错误校正电路用于将第二错误校正码附加给待存储的数据,所述第二错误校正码比所述第一错误校正码具有更高的错误校正能力,以及
非易失性存储器控制选择部,其被配置为基于所述协议识别部的判断结果在所述第一非易失性存储器控制部与所述第二非易失性存储器控制部之间进行切换。
7.一种信息记录系统,所述信息记录系统包括主机装置和权利要求1~6之一所述的非易失性存储装置,
所述主机装置被配置为包括:
应用程序处理部,所述应用程序处理部被配置为执行文件访问指示;
文件系统控制部,所述文件系统控制部被配置为基于由所述应用程序处理部执行的所述文件访问指示来生成表示对用户数据或者管理信息进行的处理内容的指令,所述管理信息用于在文件系统上对所述用户数据进行管理;以及
媒介控制部,所述媒介控制部被配置为将用于所述用户数据或者所述管理信息的所述指令传送到所述非易失性存储装置。
8.一种信息记录方法,所述信息记录方法包括如下步骤:
接收从主机装置输入过来的指令,所述指令表示作为待处理对象的数据是用户数据还是管理信息;
判断所接收到的所述指令是用于所述用户数据还是用于所述管理信息;
基于上述判断结果在用于非易失性存储构件的各控制方法之间进行切换,所述非易失性存储构件存储有所述用户数据和用于在文件系统上对所述用户数据进行管理的所述管理信息;以及
根据切换到的控制方法,将所述用户数据或者所述管理信息记录在所述非易失性存储构件中,
其中,所述非易失性存储构件包括:第一非易失性存储器,其被配置为存储所述用户数据;以及第二非易失性存储器,其被配置为比所述第一非易失性存储器更加可靠地存储数据,并存储用于在文件系统上对所述用户数据进行管理的所述管理信息,
所述信息记录方法还包括:
通过主机接口获取从所述主机装置输入过来的且用于所述用户数据或者所述管理信息的所述指令;
基于由所述主机接口获取的且用于所述用户数据或者所述管理信息的所述指令所采用的协议,来判断所述指令是用于所述用户数据还是用于所述管理信息;
控制所述第一非易失性存储器;
控制所述第二非易失性存储器;以及
基于判断结果在控制所述第一非易失性存储器的第一非易失性存储器控制部与控制所述第二非易失性存储器的第二非易失性存储器控制部之间进行切换。
9.一种信息记录方法,所述信息记录方法包括如下步骤:
接收从主机装置输入过来的指令,所述指令表示作为待处理对象的数据是用户数据还是管理信息;
判断所接收到的所述指令是用于所述用户数据还是用于所述管理信息;
基于上述判断结果在用于非易失性存储构件的各控制方法之间进行切换,所述非易失性存储构件存储有所述用户数据和用于在文件系统上对所述用户数据进行管理的所述管理信息;以及
根据切换到的控制方法,将所述用户数据或者所述管理信息记录在所述非易失性存储构件中,其中
所述非易失性存储构件包括非易失性存储器,并且
所述信息记录方法还包括:
通过主机接口获取从所述主机装置输入过来的且用于所述用户数据或者所述管理信息的所述指令;
基于由所述主机接口获取的且用于所述用户数据或者所述管理信息的所述指令所采用的协议,来判断所述指令是用于所述用户数据还是用于所述管理信息;以及
当判断结果表明所述指令用于所述管理信息时,将所述管理信息两次写入到所述非易失性存储器中。
10.一种信息记录方法,所述信息记录方法包括如下步骤:
接收从主机装置输入过来的指令,所述指令表示作为待处理对象的数据是用户数据还是管理信息;
判断所接收到的所述指令是用于所述用户数据还是用于所述管理信息;
基于上述判断结果在用于非易失性存储构件的各控制方法之间进行切换,所述非易失性存储构件存储有所述用户数据和用于在文件系统上对所述用户数据进行管理的所述管理信息;以及
根据切换到的控制方法,将所述用户数据或者所述管理信息记录在所述非易失性存储构件中,其中
所述非易失性存储构件包括非易失性存储器,并且
所述信息记录方法还包括:
通过主机接口获取从所述主机装置输入过来的且用于所述用户数据或者所述管理信息的所述指令,
基于由所述主机接口获取的且用于所述用户数据或者所述管理信息的所述指令所采用的协议,来判断所述指令是用于所述用户数据还是用于所述管理信息,
控制所述非易失性存储器,将第一错误校正码附加给待存储的数据,
控制所述非易失性存储器,将第二错误校正码附加给待存储的数据,所述第二错误校正码比所述第一错误校正码具有更高的错误校正能力,以及
基于判断结果在用于附加所述第一错误校正码的第一非易失性存储器控制部与用于附加所述第二错误校正码的第二非易失性存储器控制部之间进行切换。
CN2009102597124A 2008-12-25 2009-12-23 非易失性存储装置、信息记录系统及信息记录方法 Expired - Fee Related CN101763309B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-330883 2008-12-25
JP2008330883A JP5458568B2 (ja) 2008-12-25 2008-12-25 不揮発性記憶装置、情報記録システム、及び情報記録方法

Publications (2)

Publication Number Publication Date
CN101763309A CN101763309A (zh) 2010-06-30
CN101763309B true CN101763309B (zh) 2013-07-03

Family

ID=42286287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102597124A Expired - Fee Related CN101763309B (zh) 2008-12-25 2009-12-23 非易失性存储装置、信息记录系统及信息记录方法

Country Status (4)

Country Link
US (1) US20100169556A1 (zh)
JP (1) JP5458568B2 (zh)
KR (1) KR20100075769A (zh)
CN (1) CN101763309B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131912B2 (en) * 2007-09-27 2012-03-06 Kabushiki Kaisha Toshiba Memory system
SG188410A1 (en) * 2010-09-06 2013-04-30 Mitsubishi Electric Corp Memory control device and memory control method
JP5742362B2 (ja) 2011-03-28 2015-07-01 富士通株式会社 退避処理装置
US9727570B2 (en) * 2011-06-03 2017-08-08 Apple Inc. Mount-time unmapping of unused logical addresses in non-volatile memory systems
EP2737428A4 (en) * 2011-07-27 2015-05-27 Lsi Corp PROTECTION TECHNIQUES AGAINST ILLEGAL INTERVENTION ACTS ON A STABLE MEMORY
US8756458B2 (en) 2011-12-12 2014-06-17 Apple Inc. Mount-time reconciliation of data availability
JP2014092973A (ja) * 2012-11-05 2014-05-19 Toshiba Corp メモリシステム
US20140129788A1 (en) * 2012-11-07 2014-05-08 Taejin Info Tech Co., Ltd. High-performance large scale semiconductor storage module with hybrid technology
US10095582B2 (en) * 2014-10-29 2018-10-09 International Business Machines Corporation Partial rebuilding techniques in a dispersed storage unit
US10459792B2 (en) * 2014-10-29 2019-10-29 Pure Storage, Inc. Using an eventually consistent dispersed memory to implement storage tiers
US20180181332A1 (en) * 2014-10-29 2018-06-28 International Business Machines Corporation Expanding a dispersed storage network memory beyond two locations
US10175885B2 (en) * 2015-01-19 2019-01-08 Toshiba Memory Corporation Memory device managing data in accordance with command and non-transitory computer readable recording medium
JP6538496B2 (ja) * 2015-09-11 2019-07-03 東芝メモリ株式会社 メモリシステム
KR102565918B1 (ko) * 2016-02-24 2023-08-11 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작방법
JP2019106056A (ja) 2017-12-13 2019-06-27 東芝メモリ株式会社 メモリシステム及びメモリデバイス
JP7457248B2 (ja) 2020-05-27 2024-03-28 株式会社バッファロー 記憶装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359491A (zh) * 1999-02-02 2002-07-17 太阳微系统公司 用于资源受限装置的面向对象的指令集
CN1486462A (zh) * 2001-01-12 2004-03-31 ������������ʽ���� 数据记录设备
CN1696888A (zh) * 2004-05-10 2005-11-16 松下电器产业株式会社 记录介质、主机设备及数据处理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078794B2 (en) * 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
JP2001306393A (ja) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp 記憶装置
JP3768088B2 (ja) * 2000-11-09 2006-04-19 松下電器産業株式会社 メモリカード装置
KR100598097B1 (ko) * 2003-12-29 2006-07-07 삼성전자주식회사 듀얼 칩 패키지
JP4357304B2 (ja) * 2004-01-09 2009-11-04 株式会社バッファロー 外部記憶装置
JP4794949B2 (ja) * 2005-08-31 2011-10-19 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置及び不揮発性記憶システム
US7739576B2 (en) * 2006-08-31 2010-06-15 Micron Technology, Inc. Variable strength ECC
JP2008117003A (ja) * 2006-10-31 2008-05-22 Toshiba Microelectronics Corp 不揮発性半導体記憶装置およびその制御方法
JP2008176677A (ja) * 2007-01-22 2008-07-31 Matsushita Electric Ind Co Ltd メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359491A (zh) * 1999-02-02 2002-07-17 太阳微系统公司 用于资源受限装置的面向对象的指令集
CN1486462A (zh) * 2001-01-12 2004-03-31 ������������ʽ���� 数据记录设备
CN1696888A (zh) * 2004-05-10 2005-11-16 松下电器产业株式会社 记录介质、主机设备及数据处理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JP平3-88018A 1991.04.12
JP特开2008-176677A 2008.07.31

Also Published As

Publication number Publication date
KR20100075769A (ko) 2010-07-05
US20100169556A1 (en) 2010-07-01
CN101763309A (zh) 2010-06-30
JP2010152703A (ja) 2010-07-08
JP5458568B2 (ja) 2014-04-02

Similar Documents

Publication Publication Date Title
CN101763309B (zh) 非易失性存储装置、信息记录系统及信息记录方法
US8230160B2 (en) Flash memory storage system and flash memory controller and data processing method thereof
US8214583B2 (en) Direct file data programming and deletion in flash memories
CN102693184B (zh) 处理具有非易失性存储器的系统的动态和静态数据
CN1307555C (zh) 数据存储装置
US7669003B2 (en) Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7877539B2 (en) Direct data file storage in flash memories
JP5236469B2 (ja) 大容量データ記憶システム
US7949845B2 (en) Indexing of file data in reprogrammable non-volatile memories that directly store data files
US8291155B2 (en) Data access method, memory controller and memory storage system
US7984233B2 (en) Direct data file storage implementation techniques in flash memories
US7395384B2 (en) Method and apparatus for maintaining data on non-volatile memory systems
US8589617B2 (en) Write once recording device
US20070030734A1 (en) Reclaiming Data Storage Capacity in Flash Memories
CN101661473A (zh) 固态存储器、计算机系统以及操作固态存储器的方法
JP2003196142A (ja) ライトワンス型メモリ装置及びファイル管理方法
KR101464199B1 (ko) 연속 논리 주소 공간 인터페이스를 구비한 다이렉트 데이터 파일 시스템을 사용하는 방법
US9389998B2 (en) Memory formatting method, memory controller, and memory storage apparatus
JP2009503740A (ja) データファイルを直接記憶する再プログラム可能な不揮発性メモリ内のファイルデータの索引付け
CN102200946B (zh) 资料存取方法、记忆体控制器与储存系统
KR20090108695A (ko) 다이렉트 데이터 파일 메모리 시스템에서 lba 인터페이스를 관리하는 방법
CN103389941B (zh) 存储器格式化方法、存储器控制器及存储器存储装置
CN101176075A (zh) 能够提高存储器使用寿命的电路和方法
TWI498731B (zh) 非揮發性記憶體儲存系統
CN114356797A (zh) 一种基于文件系统优化的固态存储方法、系统及设备

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130703

Termination date: 20211223