CN1227591C - 记录系统、数据记录设备、存储设备和数据记录方法 - Google Patents
记录系统、数据记录设备、存储设备和数据记录方法 Download PDFInfo
- Publication number
- CN1227591C CN1227591C CNB008015201A CN00801520A CN1227591C CN 1227591 C CN1227591 C CN 1227591C CN B008015201 A CNB008015201 A CN B008015201A CN 00801520 A CN00801520 A CN 00801520A CN 1227591 C CN1227591 C CN 1227591C
- Authority
- CN
- China
- Prior art keywords
- address
- data
- memory block
- sector
- memory
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1215—Formatting, e.g. arrangement of data block or words on the record carriers on cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
- G11B2020/1218—Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
- G11B2020/1221—Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc cluster, i.e. a data structure which consists of a fixed number of sectors or ECC blocks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
- G11B2020/1218—Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
- G11B2020/1232—Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc sector, i.e. the minimal addressable physical data unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
包含在一个段中的512个簇被分布到包含在四个存储区中的每个的128个簇中。对于每个段形成一逻辑/物理地址变换表。因此,除非该段改变,否则要被参照或被更新的逻辑/物理地址变换表不改变,从而,可防止由于对该表格的存取或对表格的更新引起的读取性能的恶化。数据可同时写入连续逻辑簇地址例如0x0004或0x0007中,并可实现高速写入操作。
Description
技术领域
本发明涉及一种记录系统、数据记录设备、存储设备和数据记录方法,其中,将可安装到一设备和可从该设备拆卸的存储卡用作记录介质。
背景技术
对于称作EEPROM(电可擦除可编程ROM)的电可重写非易失性存储器,由于一个比特由两个晶体管构成,因此,每个比特的占用面积大,并且集成度的提高受到限制。为了解决该问题,已开发了一种闪速存储器,其中可按照全比特批量删除方法采用一个晶体管实现一个比特。期望这种闪速存储器能够成为替代诸如磁盘、光盘等记录介质的存储器。
已知具有闪速存储器的存储卡被构造成能够安装到一设备和可从该设备拆卸。采用这种存储卡,可实现采用存储卡来替代诸如CD(致密盘)、MD(迷你盘)等的传统盘形介质的数字音频记录和再现设备。除音频数据外,也可将静止图像数据和运动图像数据记录到存储卡中,并且存储卡可用作数码相机或数码摄像机的记录介质。
对于闪速存储器,称作段的数据单元被分割成预定数个簇(固定长度),而一个簇被分割成预定数个扇区(固定长度)。簇也被称作块。扇区也被称作页。在闪速存储器中,以簇为单位一起执行删除,并且以扇区为单位一起执行写入或读取操作。
例如,在4MB(兆字节)闪速存储器情况下,如图12所示,一个段被分割成512个簇。该段是用于管理预定数个簇的单位。一个簇被分割成16个扇区。一个簇具有8kB(k字节)的容量。一个扇区具有512B的容量。16MB容量的存储器可采用其每个的容量为4MB的四个段构成。
如图13A所示,给16MB的存储空间分配逻辑簇地址。为了区分512×4=2048个簇,将逻辑簇地址设定为2字节长度。在图13A中,采用十六进制数表示逻辑簇地址。0x是指十六进制表示。逻辑地址是由数据处理设备(软件)进行逻辑处理的地址。在闪速存储器中,将物理地址附加到每个簇上。簇与物理地址之间的对应关系不改变。
对于闪速存储器,通过重写数据,绝缘膜变劣,并且重写次数受到限制。因此,必须防止发生对某一相同存储区(簇)进行重复和集中存取的情况。因此,在向存储在某一物理地址中的某一逻辑地址写数据的情况下,在闪速存储器的文件系统中,不将更新的数据重写到同一簇中而是将更新的数据写入未使用过的簇中。因此,数据更新前的逻辑地址与物理地址之间的对应关系在更新后发生变化。通过执行上述这种交换处理,防止了对同一簇重复和集中地进行存取的情况,从而可延长闪速存储器的寿命。
由于逻辑簇地址伴随着曾被写入到该簇的数据,因此,即使其中写入更新前数据和更新后数据的物理簇地址改变,仍可从文件管理系统看到相同的地址,并且能够正确地执行后续的存取。由于通过交换处理改变了的逻辑地址与物理地址之间的对应关系,因此,需要表示它们之间的对应关系的逻辑/物理地址变换表。参照该表,规定对应于所指定的逻辑簇地址的物理簇地址,从而能够对由所规定的物理簇地址表示的簇进行存取。
数据处理设备将逻辑/物理地址变换表存储到存储器中。如果数据处理设备的存储器容量小,则可将该表存储到闪速存储器中。图13B表示了有关段1的逻辑/物理地址变换表。如图13B所示,在该逻辑/物理地址变换表中,使物理簇地址(2字节)分别与按递增顺序排列的逻辑簇地址(2字节)相对应。按每个段管理逻辑/物理地址变换表,并且逻辑/物理地址变换表的尺寸随闪速存储器的容量增大。
有一种希望通过使闪速存储器的多个存储区(storage)并行操作将数据写入速度设定为高于原始数据写入速度的情况。例如,用于通过网络发布音乐数据的电子音乐发布EMD开始进入实用阶段。所发布的音乐数据被存储到个人计算机的硬盘中,个人计算机将所需乐曲的数据复制或移动到闪速存储卡中,并且将该存储卡附到便携式记录器中,从而用户可在其家以外的地方容易地听到所需音乐。通过(高速)并行写操作,将多个乐曲的数据下载到存储卡中,并且当再现时,以正常速度从存储卡读出音乐数据。
图14表示对于四个存储区的传统逻辑地址的构成。在所示的实例中,存储器中的地址空间采用11个比特A0、A1、...、和A10表示。A0表示LSB(最低有效位),而A10表示MSB(最高有效位)。由MSB(A10)和次MSB(A9)切换其每个的容量为4MB的各存储区。将A0至A8的9个比特地址分配给每个存储区中的扇区和段。
当写数据时,在如图15所示的定时进行操作。首先,将数据从主机侧传送到扇区尺寸的页缓冲器。进行传送所需的时间为T。在下一个写入忙周期,将数据从页缓冲器传送到闪速存储器中的闪速缓冲器中,并将数据写入存储区中。
在进行读取时,如图16所示,在读忙周期从闪速存储器读出数据。将所读出的数据传送到扇区尺寸的页缓冲器。在下一个传送时间T,将数据从页缓冲器传送到主机侧。
图17是表示在将数据写入属于某一段中不同簇的连续逻辑扇区0至3时进行的处理流程的流程图。在第一步骤S11,相对于作为要被写入的目标的段形成逻辑/物理变换表。在步骤S12,从主机侧发送扇区0。对于该传送需要时间T。在步骤S13,将扇区0写入闪速存储器。在步骤S14,从主机侧发送扇区1。在步骤S15,将扇区1写入闪速存储器。顺序执行发送扇区2(步骤S16)、写入扇区2(步骤S17)、发送扇区3(步骤S18)、和写入扇区3(步骤S19)的处理。至此,例如,即使并行地提供四个存储区,由于集中地对一个存储区进行存取,因此,不能实现高的处理速度。
对于闪速存储器上一个扇区的结构,如图18所示,将其中记录有管理信息的16字节长的区域附加到512字节的数据上。该管理信息包括逻辑簇号、簇管理信息、和属性信息。在某个簇内的所有扇区中,簇管理信息被设定为相同信息,并且包括表示簇的“有效/无效”等的信息。属性信息是每个扇区的信息并包括版权信息等。例如,当将闪速存储器附到设备上时,主机侧读取管理信息,并相对于该段形成逻辑簇和物理簇的表。
在多个存储区并行操作的情况下,必须考虑到对多个存储区进行存取的方法。图19表示的是向四个存储区提供地址的结构。图20表示在4MB×4=16MB的闪速存储器中的地址。如参照图14所述,地址由11个比特A0、A1、...、和A10表示。A0是LSB(最低有效位),而A10是MSB(最高有效位)。由MSB(A10)和次MSB(A9)切换容量为4MB的各存储区。9比特地址A0至A8被分配给每个存储区中的簇。
至此,为了切换四个存储区,将地址提供给闪速存储器,如图19所示。低位的9比特地址A0至A8共同分配给四个存储区(0至3)。高位2比特地址A9和A10被提供给2至4解码器60。从解码器60生成用于选择存储区的选择信号CS0、CS1、CS2和CS3。
在(A10,A9)=00的情况下,从解码器60生成用来选择存储区0的选择信号CS0。当(A10,A9)=01、(A10,A9)=10或(A10,A9)=11时,从解码器60生成用于选择存储区1、存储区2和存储区3中的每个的每个选择信号CS1、CS2和CS3。
图20中由箭头示出了当由于上述存储区的切换,地址从所有11个比特等于0的状态增大到所有11个比特等于1的状态时的地址变化。亦即,当地址从存储区0的开头簇变化至存储区0的最后簇时,簇地址改变,从而接下来移动到存储区1的开头簇。图21表示段和逻辑簇地址的排列。
在上述闪速存储器的存储区的传统切换中,采用从地址的MSB开始的几个比特形成存储区选择信号。因此,将段集中排列到一个存储区上,对于每个存储区,段不同。根据这种方法,不能同时并行地写入相同段的多个簇。例如,由于在相同的存储区0中包括四个簇(0x004,0x0005,0x0006,0x0007),所以,它们不能同时写入。
多个段的簇,例如图21中的四个簇(0x0004,0x0204,0x0404,0x0604)可以同时写入存储区0至3。但是,对于闪速存储器,由于对每个段构成逻辑/物理地址变换表,因此,在存取时必须参照逻辑/物理地址变换表。所以,与上述实例类似,当在四个段上同时写入四个簇时,需要用于保存四个段的地址变换表。每当一个扇区的数据被写入每个段中时,必须参照地址变换表。由于由此引起的开销,写入时(或读取时)的性能恶化。
因此,本发明的目的是提供一种数据处理系统、数据处理设备、存储设备、和数据记录方法,其中可将数据并行写到多个存储区中,并且可改善读取时的性能。
发明内容
为解决上述问题,本发明提供一种非易失性存储器系统,包括:多个非易失性存储区,每个非易失性存储区至少记录一个簇的数据,每一个簇由多个扇区构成;地址指定部件,用于指定记录数据的所述簇的地址;记录部件,用于将数据记录到由所述地址指定部件指定的地址的存储位置;其中所述多个存储区被分为多个段;每一个所述段被拆分到所述多个存储区;以及每一个所述段由所述多个存储区的一组连续扇区组合而成,每一个段有一个逻辑簇地址/物理簇地址变换装置,通过参照每一个段的逻辑簇地址/物理簇地址变换装置来执行数据存取。
本发明还提供一种数据处理系统,包括:多个非易失性存储区,每个非易失性存储区中至少记录一个簇的数据,每一个簇由多个扇区构成;以及数据处理装置,该装置包括:地址指定部件,用于指定记录数据的所述簇的地址;记录部件,用于将数据记录到由所述地址指定部件指定的地址的存储位置;其中所述多个存储区被分为多个段;每一个所述段被拆分到所述多个存储区;以及每一个所述段由所述多个存储区的一组连续扇区组合而成,每一个段有一个逻辑簇地址/物理簇地址变换装置,通过参照每一个段的逻辑簇地址/物理簇地址变换装置来执行数据存取。
本发明还提供一种非易失性存储卡,可以被连接到数据处理装置,该非易失性存储卡包括:多个非易失性存储区,每个非易失性存储区中至少记录一个簇的数据,每一个簇由多个扇区构成;控制块部件,用于接收所述数据处理装置的地址指定部件所指定的地址,并进行控制,将数据记录到所述地址指定部件所指定地址的存储位置;其中,所述多个存储区被分为多个段;每一个所述段被拆分到所述多个存储区;以及每一个所述段由所述多个存储区的一组连续扇区组合而成,每一个段有一个逻辑簇地址/物理簇地址变换装置,通过参照每一个段的逻辑簇地址/物理簇地址变换装置来执行数据存取。
本发明还提供一种在具有多个非易失性存储区的非易失性存储器中记录数据的方法,包括以下步骤:确定至少要被记录的一个簇的数据,每一个簇由多个扇区构成;提供将记录数据的所述簇的地址;通过参照为每一段形成的逻辑簇地址/物理簇地址变换表,将数据记录到由被指定的地址所指定的地址的存储位置;其中所述多个存储区被分为多个段;每一个所述段被分配并排列到所述多个存储区;以及每一个所述段包括所述多个存储区的一组连续扇区。根据本发明,可并行写入一个段中多个簇的数据。当读出写入的数据时,如果在相同段中存在数据,则不引起逻辑/物理地址变换表的切换,从而可改善读取时的性能。
附图说明
图1是表示本发明实施例的总体结构的框图;
图2是示意性地表示本发明实施例中的存储卡结构的框图;
图3是表示本发明实施例中的存储卡更详细结构的框图;
图4是用于解释本发明实施例中地址结构的示意图;
图5是用于解释本发明实施例中并行写入操作的示意图;
图6是用于解释本发明实施例中写入操作的时序图;
图7是用于解释本发明实施例中读取操作的时序图;
图8是用于解释本发明实施例中写入操作的流程图;
图9是用于解释本发明实施例中存储区切换的框图;
图10是用于解释本发明实施例中存储区切换的示意图;
图11是表示本发明实施例中段和逻辑簇地址之间关系的示意图;
图12是表示可采用本发明的闪速存储器实例的结构的示意图;
图13是表示可采用本发明的闪速存储器逻辑/物理地址变换表实例的示意图;
图14是用于解释传统地址结构的示意图;
图15是用于解释传统写入操作的时序图;
图16是用于解释传统读取操作的时序图;
图17是用于解释传统写入操作的流程图;
图18是用于解释扇区结构和管理信息的示意图;
图19是用于解释传统的存储区切换的框图;
图20是用于解释传统的存储区切换的示意图;和
图21是表示传统的段与逻辑簇地址之间关系的示意图。
实施发明的最好形式
以下将说明本发明的实施例。图1表示可采用本发明的系统结构。在该系统中,主机侧的数据处理设备和存储卡经串行接口相连。图1中,标号1表示CPU。存储器2、显示器3和输入/输出单元4连接到CPU1的总线。
串行接口5设置在CPU总线和由虚线框住的存储卡6之间。存储器2包括用于存储程序的ROM和用作工作区域的RAM。具体地讲,数据处理设备是个人计算机、数码相机、数码摄像机、数字录音机等。存储卡6具有闪速存储器7。闪速存储器7例如是NAND型闪速存储器(非易失性存储器)。还有这样一种情况,即,在存储卡6中安装有加密电路,用于保护所存储内容的版权。
本发明也可应用于由并行接口而不是由串行接口来执行数据处理设备和存储卡6之间的数据发送和接收的情况。
闪速存储器7是容量为例如4MB×4=16MB的存储器。如上述参照图12所述的,在4MB(兆字节)闪速存储器情况下,一个段被分成512个簇,而一个簇被分成16个扇区。一个簇的容量为8kB(k字节),一个扇区的容量为512B。如参照图13A所述的,向16MB的存储空间分配逻辑簇地址。如参照图13B所述的,以段为单位形成用于表示逻辑簇地址与物理簇地址之间对应关系的逻辑/物理地址变换表。此外,如上所述,对于4MB×4=16MB的闪速存储器,采用11个比特A0、A1、...A10的物理簇地址。
如图2所示,可对闪速存储器7执行并行写入。为便于解释,图2仅表示有关数据输入/输出的部分。分别向存储区0至3提供四个相应的存储单元MC0至MC3。分别经数据总线和闪速缓冲器BF0至BF3将数据提供给存储单元MC0至MC3。亦即,当经数据总线将一页的写数据累积到闪速缓冲器BF0至BF3中的每个时,将数据从闪速缓冲器BF0至BF3同时传送到存储单元MC0至MC3。尽管图2表示的是一个IC组件具有四个存储区的实例,但是,也可使用四个不同组件的闪速存储器。此外,也可组合组件中其每个具有多个存储区的多个闪速存储器。
图3表示可采用本发明的存储卡6的更具体结构。通过使控制块11和闪速存储器7构成一个芯片IC来形成存储卡6。数据处理设备的CPU1与存储卡6之间的双向串行接口5包括10根线。4根主要线是在数据发送时发送时钟的时钟线SCK、用于发送状态的状态线SBS、用于发送数据的数据线DIO、和中断线INT。设置两根GND线和两根VCC线作为其他电源线。两个Reserv线是未定义的线。
时钟线SCK是用于发送与数据同步的时钟的线。状态线SBS是用于发送表示存储卡6的状态的信号的线。数据线DIO是用于输入和输出指令和加密的音频数据的线。中断线INT是用于从存储卡6发送用于请求中断的中断信号到数据处理设备的CPU1的线。当附加存储卡6时产生该中断信号。但是,在该实施例中,由于经数据线DIO发送中断信号,因此,中断线INT连接到地,并且不使用。
控制块11中的串行/并行变换、并行/串行变换和接口簇(以下缩写为S/P、P/S、I/F簇)12连接到接口5。S/P、P/S、I/F块12将从数据处理设备接收到的串行数据变换为并行数据,将其取到控制块11,将来自控制块11的并行数据变换成串行数据,并将其发送到数据处理设备。
在用来经数据线DIO发送数据的格式中,首先发送指令,此后发送数据。S/P、P/S、I/F块12将指令存储到指令寄存器13中,将数据存储到页缓冲器14和写寄存器15中。与写寄存器15相关联地设置纠错编码电路(ECC)16。纠错编码电路16形成用于暂时存储到页缓冲器14中的数据的纠错码的冗余码。
指令寄存器13、页缓冲器14、写寄存器15和纠错编码电路16的输出数据被提供给闪速存储器接口和序列化器(sequencer)(简写成存储器I/F、序列化器)17。存储器I/F、序列化器17是控制块11与闪速存储器7之间的接口,并控制它们之间的数据发送和接收。通过存储器I/F、序列化器17将数据写入闪速存储器7。
从闪速存储器7读出的数据经存储器I/F、序列化器17提供给页缓冲器14、读寄存器18和纠错电路19。存储在页缓冲器14中的数据由纠错电路19进行纠错。页缓冲器14和读寄存器18的纠错输出被提供给S/P、P/S、I/F块12,并经串行接口5提供给数据处理设备的CPU1。
标号20表示其中已存储有存储卡6的版本信息、各种属性信息等的配置ROM。对存储卡6设置一必要时可由用户操作的用于防止误删除的开关21。当开关21处于禁止删除的连接状态时,即使从数据处理设备侧发送用来命令删除闪速存储器7的指令,仍禁止删除闪速存储器7。此外,标号22表示用于产生作为存储卡6的处理定时基准的时钟的振荡器。
下面将更进一步详细描述本发明实施例中的数据处理设备与存储卡6之间的串行接口。当从存储卡6读出数据时,将读取指令从数据处理设备发送到存储卡6,并且存储卡6接收该读取指令。在完成指令发送后,存储卡6执行读出由从闪速存储器7接收到的读取指令指定的地址中的数据的处理。在执行该处理的同时,将一忙信号(高电平)经数据线DIO发送到数据处理设备。在完成从闪速存储器7读取数据的处理后,忙信号的输出停止,并且开始输出用于表示从存储卡6向数据处理设备发送数据的准备完成的就绪信号(低电平)。
通过从存储卡6接收就绪信号,数据处理设备得知对应于该读取指令的处理已准备好。存储卡6将从页缓冲器读出的数据经数据线DIO输出到数据处理设备。由状态线SBS的电平变化来表示其中上述各处理中的每个均已执行的状态。
当将数据写入存储卡6的闪速存储器7中时,经数据线DIO将写指令从数据处理设备发送到存储卡6。与写指令相关联地发送写地址。尽管在闪速存储器7中以扇区为单位对数据进行写入和读取操作,但是,在数据处理设备中以簇为单位管理文件,并且来自数据处理设备的地址是以簇为单位的。接下来,数据处理设备经数据线DIO将写数据发送到存储卡6。在存储卡6中,将接收到的写数据累积到页缓冲器中。当写数据的发送结束时,存储卡6执行将写数据写入闪速存储器7的处理。在写处理期间,输出忙信号。当存储卡6中写数据的写操作结束时,停止忙信号的输出,并将就绪信号(低电平)发送到数据处理设备。
在经串行接口执行并行写操作情况下,发送用于写入存储区0的指令、地址和数据,此后,在忙信号处于高电平状态下,顺序发送用于写入存储区1的指令、地址和数据;用于写入存储区2的指令、地址和数据;及用于写入存储区3的指令、地址和数据。再次发送用于写入存储区0的指令、地址和数据。此时,前述将数据写入存储区0的处理已结束,并且忙信号处于低电平。通过重复这种操作,可执行并行写入。通过并行地使用四个串行接口的方法,也可同时发送数据。
下面将更进一步详细描述本发明的上述实施例。图4表示该实施例中的地址结构。由11个比特A0、A1、...、及A10来表示地址空间。A0表示LSB(最低有效位),而A10表示MSB(最高有效位)。由LSB(A00)和次LSB(A1)切换其每个的容量为4MB的各存储区。将A2至A10的9比特地址分配给各个存储区中的扇区和段。
图5是用于解释采用存储卡6作为存储介质的图1系统中的文件管理方法的示图。图5中,标号30表示数据文件,例如压缩音频数据文件中的数据。对于压缩音频数据,通常,对每个乐曲形成一文件,将文件以扇区为单位记录到存储卡6中的闪速存储器7中,并从闪速存储器7中读出。
在并行地将这种数据30记录到闪速存储器7的情况下,如图5所示,从多个簇中选择写扇区,从而在写处理后在每个簇中连续排列这些扇区,并且将该数据写入所选扇区。下面,假设数据30的尺寸与四个簇相一致,将数据30记录到闪速存储器7的四个簇中。
如图5所示,记录数据,从而在写入之后按原始顺序将这些扇区排列在每个存储区的每个簇中。例如,在并行地将按原始顺序编号为0、1、2、3...的扇区写入存储区0至3情况下,分别将编号0的数据记录到存储区0的簇中的开头扇区,将编号16的数据记录到存储区1的簇的开头扇区,将编号32的数据记录到存储区2的簇中的开头扇区,将编号48的数据记录到存储区3的簇中的开头扇区。
如上所述,当按每个扇区对数据进行编号时,将其偏移数等于簇的扇区数的四个数据单元变换成并行数据,并同时写入四个存储区。因此,在闪速存储器7的每个存储区中,以与现有闪速存储器相同的方式将数据以原始顺序排列在相同存储区内构成的簇中。因此,保持了与现有闪速存储器的文件格式的兼容。
对每个如上所述地记录在闪速存储器中的簇,顺序地读出数据。例如,从图5的存储区0中的簇的开头扇区中顺序读出数据。接下来,从存储区1中的簇的开头扇区中顺序读出数据。以这种方式,从存储区2中的簇和存储区3的簇中顺序读出数据。所读出数据的顺序与原始顺序相同。按对每个存储区构成的簇为单位执行删除操作。
如上所述,对于本实施例中在并行写入后的数据排列,以与现有闪速存储器相同的方式在相同存储区中构成簇。因此,可保持与现有闪速存储器的文件格式的兼容。
图6表示实施例中的写操作。首先,将数据从主机侧传送到扇区尺寸的页缓冲器。此外,将数据从页缓冲器传送到存储区0的闪速缓冲器BF0。传送需要的时间为T。对于下一个写入忙周期,将数据从闪速缓冲器BF0写入存储区0。在第一个传送周期T之后,传送下一个扇区的数据,并在写入忙周期将其写入存储区1。由于如上所述并行地执行向存储区0至3的写操作,因此,实现了比图15所示传统写操作高的写入速度。
在进行读取时,如图7所示,在读取忙周期,从存储区0至3中的每个读出数据,并将所读出的数据传送到扇区尺寸的闪速缓冲器BF0至BF3。在下一个传送周期T,将数据从闪速缓冲器BF0传送到页缓冲器,另外,将数据从页缓冲器传送到主机侧。接下来,数据被顺序地从闪速缓冲器BF1、BF2和BF3输出到页缓冲器,并且该数据被从页缓冲器传送到主机侧。从而,实现了高于其中顺序执行读取忙操作的传统读取操作处理(图16)中的速度的读取速度。
图8是表示在将数据写入属于某一段中的不同扇区的连续逻辑扇区0至3时的处理流程的流程图。在第一步骤S1,相对于作为要被写入的目标的段形成一逻辑/物理地址变换表。在步骤S2,将扇区0从主机侧发送到页缓冲器,并将扇区0中的数据从页缓冲器传送到闪速缓冲器。传送所需时间为T。在下一步骤S3,将发送扇区1,并且在步骤S4,并行地将扇区0写入闪速存储器的一个存储区中。
在步骤S5,发送扇区2。在步骤S6,并行地将扇区1写入闪速存储器的一个存储区中。接下来,类似地执行用于发送扇区3(步骤S7)、写入扇区2(步骤S8)、和写入扇区3(步骤S9)的处理。根据本发明的实施例,不出现与传统设备中那样集中地对一个存储区进行存取的情况,并且不切换段。因此,由于不必形成逻辑/物理地址变换表,所以可实现高处理速度。
下面将描述当执行上述并行写操作和读出写数据时的存储区切换方法的实例。图9表示用于将地址提供给四个存储区的结构。图10表示4MB×4=16MB的闪速存储器中的物理地址。
如参照图4所述的,由11个比特A0、A1、...、和A10来表示物理地址。A0表示LSB(最低有效位),而A10表示MSB(最高有效位)。
在该本发明实施例中,当将所形成的11比特地址A0至A10发送到闪速存储器时,地址A2至A10被提供给闪速存储器作为用于规定扇区和段地址的地址。低两位地址A0和A1被提供给闪速存储器作为用于规定存储区切换的地址。亦即,如图9所示,高位的9比特地址A2至A10共同发送给四个存储区(0至3)。低位的2个比特地址A0和A1被提供给2至4解码器40。从解码器40生成用于选择每个存储区的选择信号CS0、CS1、CS2和CS3。在(A1,A0)=00的情况下,从解码器40生成用来选择存储区0的选择信号CS0。当(A1,A0)=01、(A1,A0)=10或(A1,A0)=11时,分别从解码器40生成用于选择存储区1、存储区2或存储区3的选择信号CS1、CS2和CS3。在图3所示的构造实例中,解码器40被设置在存储器I/F、序列化器17中。
图10中以箭头示出在执行上述存储区切换的情况下,在物理地址从所有11比特均等于0的地址增大到所有11比特均等于1的地址时的地址变化。亦即,地址变化从存储区0的开头簇开始。接下来,指定存储区1的开头簇。当地址经存储区2的开头簇变化为存储区3的开头簇时,物理簇地址变化,从而簇移位到存储区0的第二簇。
图11表示本发明实施例中段和逻辑簇地址的排列。可从图11中的逻辑簇地址排列看出,一个段中所包含的512个簇由包含在四个存储区中的每个的128个簇构成。对每个段形成逻辑/物理地址变换表。因此,如果段不发生变化,则要被参照或更新的逻辑/物理地址变换表不改变,从而,可防止由于对该表格的存取或对表格的更新引起的读取性能的恶化。数据可同时写入连续逻辑簇地址例如0x0004或0x0007中。
当逻辑簇地址如0x000、0x0200、0x0400和0x0600那样地不连续时,由于这些地址存在于一个存储区中,因此,不能同时写入数据。但是,由于实际发生将连续逻辑扇区写入这种不连续簇地址的处理的概率极低,因此,不会出现大问题。
尽管已参照其中一个扇区由512B构成、一个簇由8k字节构成、以及一个存储区由512个簇构成的4MB的闪速存储器对实施例进行了描述,但是,这些值是作为实例给出的,本发明也可应用于其他数值的闪速存储器。例如一个簇的容量可被设置成16kB。本发明也可应用于一个存储区的容量等于8MB(102四个簇×8kB)、16MB(102四个簇×16kB)、32MB(2048个簇×16kB)、64MB(4096个簇×16kB)的闪速存储器。
根据本发明,当写入多个簇上存在的数据时,该数据可同时写入,因此,可实现高速写入。当写入或读出多个簇上存在的数据时,如果该数据存在于相同段中,则不必进行逻辑/物理地址变换表的切换,从而可实现高存取速度。
Claims (12)
1、一种非易失性存储器系统,包括:
多个非易失性存储区,每个非易失性存储区至少记录一个簇的数据,每一个簇由多个扇区构成;
地址指定部件,用于指定记录数据的所述簇的地址;
记录部件,用于将数据记录到由所述地址指定部件指定的地址的存储位置;其中
所述多个存储区被分为多个段;
每一个所述段被拆分到所述多个存储区;以及
每一个所述段由所述多个存储区的一组连续扇区组合而成,
每一个段有一个逻辑簇地址/物理簇地址变换装置,通过参照每一个段的逻辑簇地址/物理簇地址变换装置来执行数据存取。
2、如权利要求1所述的非易失性存储器系统,其中
所述记录部件在扇区A数据被传送到存储区B后,马上将另一扇区C数据传送到存储区D并且将所述扇区A数据写入所述存储区B。
3、如权利要求1所述的非易失性存储器系统,其中还包括:
控制块部件,用于建立段地址、存储区地址和扇区地址,以便将数据记录到多个所述非易失性存储区。
4、一种数据处理系统,包括:
多个非易失性存储区,每个非易失性存储区中至少记录一个簇的数据,每一个簇由多个扇区构成;以及
数据处理装置,该装置包括:
地址指定部件,用于指定记录数据的所述簇的地址;
记录部件,用于将数据记录到由所述地址指定部件指定的地址的存储位置;其中
所述多个存储区被分为多个段;
每一个所述段被拆分到所述多个存储区;以及
每一个所述段由所述多个存储区的一组连续扇区组合而成,
每一个段有一个逻辑簇地址/物理簇地址变换装置,通过参照每一个段的逻辑簇地址/物理簇地址变换装置来执行数据存取。
5、如权利要求4所述的数据处理系统,其中
所述记录部件在扇区A数据被传送到存储区B后,马上将扇区C数据传送到存储区D并且将所述扇区A数据写入所述存储区B。
6、如权利要求4所述的数据处理系统,其中还包括:
控制块部件,用于建立段地址、存储区地址和扇区地址,以便将数据记录到多个所述非易失性存储区。
7、一种非易失性存储卡,可以被连接到数据处理装置,该非易失性存储卡包括:
多个非易失性存储区,每个非易失性存储区中至少记录一个簇的数据,每一个簇由多个扇区构成;
控制块部件,用于接收所述数据处理装置的地址指定部件所指定的地址,并进行控制,将数据记录到所述地址指定部件所指定地址的存储位置;
其中,所述多个存储区被分为多个段;
每一个所述段被拆分到所述多个存储区;以及
每一个所述段由所述多个存储区的一组连续扇区组合而成,
每一个段有一个逻辑簇地址/物理簇地址变换装置,通过参照每一个段的逻辑簇地址/物理簇地址变换装置来执行数据存取。
8、如权利要求7所述的非易失性存储卡,其中包括:
记录部件,在扇区A数据被传送到存储区B后,马上将扇区C数据传送到存储区D并且将所述扇区A数据写入所述存储区B。
9、如权利要求7所述的非易失性存储卡,其中
所述控制块部件建立段地址、存储区地址和扇区地址,以便将数据记录到多个所述非易失性存储区。
10、一种在具有多个非易失性存储区的非易失性存储器中记录数据的方法,包括以下步骤:
确定至少要被记录的一个簇的数据,每一个簇由多个扇区构成;
提供将记录数据的所述簇的地址;
通过参照为每一段形成的逻辑簇地址/物理簇地址变换表,将数据记录到由被指定的地址所指定的地址的存储位置;其中
所述多个存储区被分为多个段;
每一个所述段被分配并排列到所述多个存储区;以及
每一个所述段包括所述多个存储区的一组连续扇区。
11、如权利要求10所述的方法,其中
通过参照为每一段形成的逻辑簇地址/物理簇地址变换表,将数据记录到由被指定的地址所指定的地址的存储位置这一步骤包括:在一扇区A数据被传送到一存储区B后,马上将另一扇区C数据传送到另一存储区D并且将所述扇区A数据写入所述存储区B。
12、如权利要求10所述的方法,其中
通过参照为每一段形成的逻辑簇地址/物理簇地址变换表,将数据记录到由被指定的地址所指定的地址的存储位置这一步骤包括:建立段地址、存储区地址和扇区地址,以便将数据存储到多个所述非易失性存储区。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP214089/99 | 1999-07-28 | ||
JP214089/1999 | 1999-07-28 | ||
JP21408999 | 1999-07-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1319205A CN1319205A (zh) | 2001-10-24 |
CN1227591C true CN1227591C (zh) | 2005-11-16 |
Family
ID=16650056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB008015201A Expired - Fee Related CN1227591C (zh) | 1999-07-28 | 2000-07-28 | 记录系统、数据记录设备、存储设备和数据记录方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6965963B1 (zh) |
EP (1) | EP1134662A4 (zh) |
KR (1) | KR100684061B1 (zh) |
CN (1) | CN1227591C (zh) |
WO (1) | WO2001008014A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702831B2 (en) * | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | Flash memory controller for electronic data flash card |
US20060161725A1 (en) * | 2005-01-20 | 2006-07-20 | Lee Charles C | Multiple function flash memory system |
GB0123412D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system sectors |
JP2003162433A (ja) | 2001-11-27 | 2003-06-06 | Fujitsu Ltd | メモリシステム |
JP2003280979A (ja) * | 2002-03-20 | 2003-10-03 | Toshiba Corp | 情報記憶装置 |
US7107389B2 (en) | 2002-08-29 | 2006-09-12 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory device and method for writing data into flash memory |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US20060184718A1 (en) | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
TW200705180A (en) * | 2005-07-29 | 2007-02-01 | Genesys Logic Inc | Adjustable flash memory management system and method |
US7480766B2 (en) | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US20070074839A1 (en) * | 2005-10-03 | 2007-04-05 | United Technologies Corporation | Method for manufacturing a pattern for a hollow component |
JP4661566B2 (ja) * | 2005-11-30 | 2011-03-30 | Tdk株式会社 | アクセスコントローラ、フラッシュメモリシステム及びアクセス制御方法 |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7769978B2 (en) | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7793068B2 (en) | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
KR100877609B1 (ko) * | 2007-01-29 | 2009-01-09 | 삼성전자주식회사 | 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법 |
US7966355B2 (en) * | 2007-02-13 | 2011-06-21 | Modu Ltd. | Interface for extending functionality of memory cards |
US8429329B2 (en) * | 2007-10-17 | 2013-04-23 | Micron Technology, Inc. | Serial interface NAND |
CN101364444B (zh) * | 2008-02-05 | 2011-05-11 | 威盛电子股份有限公司 | 控制方法及运用该控制方法的存储器及处理系统 |
CN102411696A (zh) * | 2010-09-26 | 2012-04-11 | 上海杰得微电子有限公司 | 对外部存储器件进行量产拷贝的方法 |
US9158678B2 (en) * | 2013-03-13 | 2015-10-13 | Kabushiki Kaisha Toshiba | Memory address management system and method |
CN109144963A (zh) * | 2017-06-26 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种重做日志持久化方法及设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0457295A (ja) * | 1990-06-22 | 1992-02-25 | Nec Corp | 電気的書込消去可能メモリ回路 |
JP3328321B2 (ja) | 1992-06-22 | 2002-09-24 | 株式会社日立製作所 | 半導体記憶装置 |
JP3105092B2 (ja) * | 1992-10-06 | 2000-10-30 | 株式会社東芝 | 半導体メモリ装置 |
JPH0887441A (ja) | 1994-09-19 | 1996-04-02 | Fujitsu Ltd | フラッシュメモリアクセス方式 |
US5799140A (en) * | 1995-04-21 | 1998-08-25 | International Business Machines Corporation | Disk array system and method for storing data |
US6081878A (en) * | 1997-03-31 | 2000-06-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US5860082A (en) * | 1996-03-28 | 1999-01-12 | Datalight, Inc. | Method and apparatus for allocating storage in a flash memory |
US6038636A (en) * | 1998-04-27 | 2000-03-14 | Lexmark International, Inc. | Method and apparatus for reclaiming and defragmenting a flash memory device |
US6542975B1 (en) * | 1998-12-24 | 2003-04-01 | Roxio, Inc. | Method and system for backing up data over a plurality of volumes |
DE60037417D1 (de) * | 1999-07-28 | 2008-01-24 | Sony Corp | Aufnahmesystem, daten-aufnahmevorrichtung, speicher-vorrichtung, und daten-aufnahmeverfahren |
-
2000
- 2000-07-28 CN CNB008015201A patent/CN1227591C/zh not_active Expired - Fee Related
- 2000-07-28 WO PCT/JP2000/005055 patent/WO2001008014A1/ja active IP Right Grant
- 2000-07-28 US US09/806,136 patent/US6965963B1/en not_active Expired - Fee Related
- 2000-07-28 KR KR1020017003966A patent/KR100684061B1/ko not_active IP Right Cessation
- 2000-07-28 EP EP00948273A patent/EP1134662A4/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1134662A1 (en) | 2001-09-19 |
WO2001008014A1 (en) | 2001-02-01 |
KR100684061B1 (ko) | 2007-02-16 |
CN1319205A (zh) | 2001-10-24 |
KR20010079945A (ko) | 2001-08-22 |
EP1134662A4 (en) | 2007-05-09 |
US6965963B1 (en) | 2005-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100347684C (zh) | 记录系统、数据记录设备、存储设备和数据记录方法 | |
CN1227591C (zh) | 记录系统、数据记录设备、存储设备和数据记录方法 | |
JP5530012B2 (ja) | 記憶装置のためのストレージアドレス再マッピングのための方法およびシステム | |
EP1561168B1 (en) | Method and apparatus for splitting a logical block | |
US7877540B2 (en) | Logically-addressed file storage methods | |
JP4256600B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US7404031B2 (en) | Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory | |
KR20080032636A (ko) | 논리 어드레스 공간 전반에 걸쳐 그리고 직접 데이터 파일기반 위에서 동작하는 인터페이싱 시스템 | |
JP2009503730A (ja) | 記憶装置用デュアルモードアクセスのための方法およびシステム | |
JPH08137634A (ja) | フラッシュディスクカード | |
TW200535608A (en) | Adaptive mode switching of flash memory address mapping based on host usage characteristics | |
JP2008004117A (ja) | 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作 | |
CN1426557A (zh) | 对快速存储器的数据记录装置和数据写入方法 | |
WO1999030239A1 (fr) | Memoire et procede d'acces | |
KR101378031B1 (ko) | 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리 | |
JP5266250B2 (ja) | 連続論理アドレス空間インターフェイスを備えるダイレクトデータファイルシステムの使用 | |
JP2010515163A (ja) | ダイレクトデータファイルメモリシステムにおけるlbaインターフェイスの管理 | |
JP2009503740A (ja) | データファイルを直接記憶する再プログラム可能な不揮発性メモリ内のファイルデータの索引付け | |
JP4561246B2 (ja) | メモリ装置 | |
JP2004151939A (ja) | 記憶装置 | |
JP4218406B2 (ja) | 情報記録再生方法 | |
JP2003122630A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1082986 Country of ref document: HK |
|
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20051116 Termination date: 20130728 |