CN1376980A - 存储器 - Google Patents

存储器 Download PDF

Info

Publication number
CN1376980A
CN1376980A CN02107901A CN02107901A CN1376980A CN 1376980 A CN1376980 A CN 1376980A CN 02107901 A CN02107901 A CN 02107901A CN 02107901 A CN02107901 A CN 02107901A CN 1376980 A CN1376980 A CN 1376980A
Authority
CN
China
Prior art keywords
mentioned
physical
block
address
writing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN02107901A
Other languages
English (en)
Other versions
CN1276358C (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1376980A publication Critical patent/CN1376980A/zh
Application granted granted Critical
Publication of CN1276358C publication Critical patent/CN1276358C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash 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/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

近年来,在被处理的数据量增大的具备非易失性存储器的存储器中,要求存储容量的增大而不降低便携性等。本申请的发明通过在RAM和非易失性存储器中具备以往只在RAM中设置的将逻辑地址变换为物理地址的表,使得RAM容积削减而不导致存储容量的下降。

Description

存储器
(一)技术领域
本发明涉及具备可进行数据改写的闪速存储器等非易失性存储器的存储器。
(二)背景技术
作为处理音乐数据或影像数据的便携装置的存储器,越来越多地使用了具备可进行数据改写、便携性高、不需要因电池等原因而需进行备份的闪速存储器等非易失性存储器的存储器。
但是,在闪速存储器中写入数据的处理速度比将数据传送到位于存储器内的缓冲器的处理速度慢,因此就发生了等待时间。
在此,作为高效率地在闪速存储器中写入数据的处理,例如在特开平6-301601号公报中提出了对多个物理块并行写入数据的处理。
此外,为了对暂时写入到闪速存储器内的数据进行存取,必须从逻辑地址来确定闪速存储器内的该数据的物理地址。因此,在存储器具有的RAM中设置将已写入到闪速存储器内的数据的逻辑地址变换为闪速存储器内的物理地址的表。
但是,近年来,在便携装置中处理的信息量有增大的趋势,为了适应这一点,通过使处于存储器内的非易失性存储器增加来谋求存储器存储容量的增大。
但是,该存储容量的增大与上述表的容量的增大相联系,其结果,导致RAM容量和容积的增大。
例如,如果将存储器的存储容量定为1GB(千兆字节),将该存储器的逻辑块的尺寸定为16KB(千字节),则在该存储器中可构成216个逻辑块,因此,为指定规定逻辑块所用的地址必须有16位。即,将逻辑地址变换为闪速存储器内的物理地址用的表的容量必须为16位×216=128KB。
此外,如上所述,提出了高效率地在闪速存储器中写入数据的处理,但没有提出数据的读出装置等对已写入的数据进行高速存取的数据的写入方法。
在现有的写入方法中,例如对开头的第1物理块至第5物理块所写入的数据中,对写入到第5物理块中的数据进行存取的程序如下所述。
首先,例如数据的读出装置读取第1物理块,取得在该第1物理块的最终部分中存储的第2物理块的地址,其次,读取第2物理块。同样,读出装置取得第2物理块、第3物理块、第4物理块中保持了的第5物理块的地址,对第5物理块进行存取。因而,为了对第5物理块进行存取,必须读取第1物理块至第4物理块,这成为存取时间增大的原因。
此外,在数据的擦除单位为物理块单位的闪速存储器等中,如果擦除存储了无效数据的物理块中的数据,则该物理块中存储了的有效数据也被擦除。因此,例如数据的擦除装置在使有效数据保存到其它存储介质中以后,擦除该物理块的数据,即进行所谓的转入保存处理。因而,为了高效率地进行数据的擦除,必须提高转入保存处理的处理效率。
(三)发明内容
本发明是鉴于这样的课题而进行的,其目的在于提供能用小型的控制电路控制大容量的存储介质并能高速地对已写入的数据进行存取的存储器。
为了达到上述目的,本发明采用了以下的方法。即,为了削减具备非易失性存储器的存储器的RAM的容量,使用在RAM中设置的第1表和在非易失性存储器中设置的第2表将逻辑地址变换为物理地址。通过使用2个表将逻辑地址变换为物理地址,可削减第1表的容量。通过削减第1表的容量,可削减RAM的容量。
此外,本发明的存储器具备由数据块构成的逻辑块的结构及为了高效率地进行逻辑块的读出或擦除而具备物理块表、逻辑块表、项目计数器和地址寄存器。
物理块表表示作为非易失性存储器的数据擦除单位的物理块是使用中物理块还是已擦除的物理块。地址寄存器表示成为数据的写入对象的物理块。项目计数器表示已写入到在地址寄存器中示出的物理块中的数据量。项目计数器表示由上述物理块构成的逻辑块的数据量。逻辑块表表示上述逻辑块的状况。
例如,写入装置在非易失性存储器中构成由规定的逻辑地址确定的逻辑块时,将构成了逻辑块的物理块作为使用中登记在物理块表中,根据构成了逻辑块的写入单位来更新地址寄存器,根据该逻辑块的数据量来更新项目计数器。
此外,写入装置在构成逻辑块时,在构成逻辑块的写入单位中例如在代表写入单位中写入确定其它的写入单位的物理地址用的连锁信息,以便读出装置等能高速地对非易失性存储器中已构成的逻辑块进行存取。所谓写入单位,是非易失性存储器中的数据的写入单位,逻辑块横跨多个写入单位而被构成。
再者,写入装置将确定在非易失性存储器中构成了的逻辑块的代表写入单位的物理地址的信息登记在第2表中。
如果存在由规定的逻辑地址确定的逻辑块的读出要求,则读出装置使用该逻辑地址读取上述第2表中已登记的信息,达到代表写入单位的物理地址。如果读出装置得到代表写入单位的物理地址,则读取已写入到代表写入单位中的连锁信息。该连锁信息是构成与代表写入单位相同的逻辑块的其它的写入单位的物理地址。读出装置读取连锁信息,得到其它的写入单位的物理地址。如果读出装置得到其它的写入单位的物理地址,则读取已写入到该其它的写入单位中的连锁信息,得到另一其它的写入单位的物理地址。这样,读出装置通过读取连锁信息,可得到构成成为读出要求的对象的逻辑块的全部的写入单位的物理地址。
此外,已写入到代表写入单位中的连锁信息可以是确定构成与代表写入单位相同的逻辑块的其它的全部写入单位的物理地址用的信息。此时,读出装置通过读取代表写入单位的连锁信息,可得到构成成为读出要求的对象的逻辑块的全部的写入单位的物理地址。
如果读出装置如上所述那样取得写入单位的物理地址,则读出在该写入单位中已被存储的数据。
此外,擦除装置如下述那样擦除已选择的物理块中已被存储的数据。擦除装置参阅上述物理块表、上述逻辑块表和地址寄存器等,把握构成了有效的逻辑块的量少的物理块。然后,擦除装置将该物理块作为擦除物理块,将在该擦除物理块中已被构成的有效的逻辑块复制到其它的物理块中。然后,将擦除物理块的数据擦除。通过以这种方式选择擦除物理块,由于可减少在擦除数据时复制有效的逻辑块的量,故可迅速地进行数据的擦除。
(四)附图说明
图1是存储器的概略框图。
图2示出了非易失性存储器的结构图。
图3是表示物理块表的编制程序的具体例的流程图。
图4是示出物理块表的图。
图5是表示逻辑块表的编制程序的具体例的流程图。
图6是示出逻辑块表的图。
图7是表示编制第1表的程序的具体例的流程图。
图8是示出第1表的图。
图9是示出地址寄存器和项目计数器的图。
图10是表示数据写入程序的流程图。
图11是表示数据写入程序的流程图。
图12是表示将连锁信息写入到闪速存储器中的具体例的图。
图13是示出了取得代表页的物理地址的程序的概念图。
图14是表示数据读出程序的流程图。
图15是表示数据擦除程序的流程图。
图16是表示逻辑块表的编制程序的具体例的流程图。
图17是表示第1表的编制程序的具体例的流程图。
(五)具体实施方式
如图1中所示,本发明的存储器1具备多个作为非易失性存储器的闪速存储器2。该闪速存储器2如图2中所示,由多个物理块B构成。上述物理块B由多个页A构成。闪速存储器2中的数据的写入单位是上述页A,此外,数据的擦除单位是上述物理块B。
此外,在本实施例中,闪速存储器2的总存储容量是1GB,物理块B的存储容量是16KB,将页A的存储容量作为512B(字节)来说明,但闪速存储器2、物理块B、页A的存储容量不限定于上述容量。
(实施例1)
<关于电源接通时>
如果在上述存储器1中接通电源,则在编制装置510中具备的物理块表编制装置521在存储器1中已设置的地址控制部5的RAM上编制表示上述各物理块B的使用状态的物理块表52。在此,在图3中表示物理块表52的编制程序的一例。
首先,上述物理块表编制装置521对上述物理块表52的值进行初始化(图3,S301)。作为上述物理块表编制装置521进行初始化的方法,例如将物理块表52的值全部变更为表示物理块已擦除的值。
接着,上述物理块表编制装置521参阅图2中示出的构成规定物理块B的规定页A,确认该规定物理块B的状况(图3,S302)。所谓该规定的页,指的是例如在初始状态的物理块B内最初写入数据的页A等。
为了确认物理块B的状况,在此,上述物理块表编制装置521作为判断在规定的物理块B中是否存在不良的不良物理块判断装置522来工作。即,上述物理块表编制装置521确认属于作为确认对象的物理块B的规定页A内的信息,判断该物理块B是否是因缺陷而不能正常地写入数据的不良物理块(图3,S303)。
例如在判断为确认对象的物理块B1不是不良物理块时,上述物理块表编制装置521判断在该确认对象的物理块B1内是否有存储了数据的页A(图3,S304)。其次,在判断为有存储了数据的页A的情况下,上述物理块表编制装置521识别为确认对象的物理块B1使用状态为使用中。上述物理块表编制装置521将该确认对象的物理块B1作为使用中物理块登记在图4中示出的物理块表52中(图3,S305)。在判断为没有存储了数据的页A的情况下,上述物理块表编制装置521识别为确认对象的物理块B1使用状态为已擦除。然后,将该确认对象的物理块B1作为已擦除物理块登记在上述物理块表52中(图3,S306)。
如上所述,如果将使用中物理块或已擦除物理块登记在物理块表52中,则上述物理块表编制装置521判断确认对象的物理块B是否是最终的物理块B(图3,S307)。而且,在判断为确认对象的物理块B不是最终的物理块B的情况下,进行尚未确认状况的其它的物理块B的状况确认(图3,S302)。如果判断为确认对象的物理块B是最终的物理块B,则物理块表编制装置521结束物理块表52的编制。
以这种方式,例如编制图4中示出的物理块表52。在图4中,利用物理块表52,分别对于物理块B1、B2、…示出了是使用中物理块还是已擦除物理块。
此外,在判断为确认对象的物理块B是不良物理块的情况下,上述不良物理块判断装置522将该确认对象的物理块B作为使用中物理块,登记在物理块表52中即可(图3,S308)。
即,在利用不良物理块判断装置522将物理块判断为不良的情况下,即使上述物理块表编制装置521作为将上述物理块表52表示的该物理块B的使用状态设定为使用中的使用状态设定装置523,也使其工作。
在物理块表52中将不良物理块作为使用中物理块来设定的原因是,在后述的数据写入处理时,写入装置100将在上述物理块表52被登记为已擦除物理块的物理块B作为数据写入对象的物理块B来选择。假定在物理块表52中将不良物理块作为已擦除物理块来设定,则写入装置100有时将不良物理块作为写入对象的物理块B来选择。此时,虽然写入装置100在识别了不能对该物理块B写入数据的情况之后改正写入对象的物理块B的选择即可,但相应地在写入处理方面花费了时间。
如上所述,通过将不良物理块作为使用中物理块来登记,可将不良物理块从写入对象的物理块B中去掉,其结果,即使在以存在不良物理块为前提而被利用的非易失性存储器中,也能缩短写入处理的时间。
如果在上述存储器1中接通电源,则除了上述物理块表52外,利用上述编制装置510中具备的逻辑块表编制装置531在上述地址控制部5的RAM上编制逻辑块表53。逻辑块表53的编制可与上述物理块表52的编制同时进行,也可在编制物理块表52之后进行,也可在编制物理块表52之前进行。
逻辑块表53是表示各逻辑块C处于有效状态(‘有效’)还是处于无效状态(‘无效’)的表。上述逻辑块C是逻辑地址所示出的数据块,横跨1个以上的物理块B而被构成。图5是表示逻辑块表53的编制程序的一例的流程图。
如图5中所示,上述逻辑块表编制装置531首先对上述逻辑块表53进行初始化(图5,S501)。作为上述逻辑块表编制装置531进行初始化的方法,有例如将逻辑块表53的值全部变更为表示‘无效’的值的方法。
接着,上述逻辑块表编制装置531参阅在表示物理地址的位串中规定的5位为‘01000’的页A的管理区Ab中设置的标志区90的值(图5,S502)。此外,上述逻辑块表编制装置531参阅物理地址的规定的5位为‘01000’的页A中设置的标志区90的原因是,在本实施例的存储器1中,只在该物理地址的页A中成为存储第2表80(详细的情况在后面叙述)的规格。即,上述逻辑块表编制装置531只参阅能存储上述第2表80的页A的标志区90。
上述标志区90的值是表示在与该标志区90相同的管理区Ab中已存储的第2表80是有效还是无效的管理信息。此外,为了逻辑块表的编制处理的高速化,上述逻辑块表编制装置531没有必要全部参阅物理地址的规定的5位为‘01000’的页A的标志区90。例如,逻辑块表编制装置531可只参阅规定的5位为‘01000’、且属于在物理块表52中作为使用中物理块登记了的物理块B的页A的标志区90。
如果参阅上述标志区90,则上述逻辑块表编制装置531判断上述标志区90的值是有效值还是无效值(图5,S503)。在判断为标志区90的值是有效值时,上述逻辑块表编制装置531将由已登记在该第2表80中的第2物理地址Ca确定的逻辑块C作为‘有效’登记在上述逻辑块表53中(图5,S504)。所谓第2物理地址Ca,是确定构成逻辑块C的规定的1个页A(代表页a)的物理地址的信息。
另一方面,在判断为标志区90的值是无效值时,上述逻辑块表编制装置531将由已登记在该第2表80中的第2物理地址Ca确定的逻辑块C作为‘无效’登记在上述逻辑块表53中(图5,S505)。
如果上述逻辑块表编制装置531如上所述将‘有效’或‘无效’登记在上述逻辑块表53中,则判断是否参阅了应参阅的全部标志区90(图5,S506)。
在判断为没有参阅全部的标志区90的情况下,上述逻辑块表编制装置531进行尚未参阅的其它标志区90的参阅(图5,S502)。而且,上述逻辑块表编制装置531重复进行同样的处理,直到判断为参阅了全部的标志区90。
这样,编制图6中示出的逻辑块表53。在上述不良物理块中,有作为使用中物理块登记在上述物理块表52中的不良物理块。在这种不良物理块中,包含有物理地址的规定5位为‘00000’的页(称为代表页a)。逻辑块表编制装置531最好将在这样的不良物理块B上构成的逻辑块C作为‘有效’登记在上述逻辑块表53中,
即,作为在上述逻辑块表53中将由上述不良物理块构成的逻辑块C设定为‘有效’的有效状态设定装置532使上述逻辑块表编制装置531工作。
这是因为,在后述的数据擦除处理中,将构成了作为‘有效’登记在逻辑块表53中的逻辑块C的数目少的物理块B作为数据擦除对象的数据来认定。因此,通过将没有写入数据的不良物理块作为‘有效’来登记,就不会使不良物理块成为擦除对象。
由此,由于在不良物理块上构成的全部逻辑块C作为‘有效’登记在逻辑块表53中,故将该不良物理块从擦除对象的物理块中去掉。其结果,可防止无必要的数据的擦除。
此外,除了物理块表52、逻辑块表53外,也在上述地址控制部5的RAM上编制第1表51。例如,如上所述,如果编制物理块表52、逻辑块表53,则编制装置510中具备的第1表编制装置511开始第1表51的编制。在此,图7是表示编制上述第1表51的编制程序的一例的流程图。
首先,上述第1表编制装置511对上述第1表51进行初始化(图7,S701),接着,参阅物理地址的规定的5位为‘01000’的页A的标志区90。此外,第1表编制装置511也可只参阅在物理块表52中作为使用中物理块登记了的物理块B的标志区90。
如果参阅上述标志区90,则上述第1表编制装置511判断标志区90的值是有效值还是无效值(图7,S702)。在判断为标志区90的值是有效值时,第1表编制装置511取得该标志区90所属的页A的物理地址和在该页A中已存储的第2表80保持的识别编号(图7,S703)。该识别编号是用来确定图8中示出的第1表51内的1个区域50的标识符。在本实施例中,假定识别编号由13位的位串构成。
如图8中所示,上述第1表编制装置511在所取得的识别编号表示的区域50中,将存储了第2表的页A的物理地址的规定的16位作为第1物理地址来登记(图7,S704)。在规定的16位中不包含能存储第2表80的页A的物理地址中共同的‘01000’的5位。其次示出登记这样的规定的16位的原因。本实施例的非易失性存储器2有221个页A(1GB/512B),页A的物理地址由21位来表示。再者,如上所述,能存储第2表80的页A其物理地址的规定的5位为‘01000’。因此,如果能确定物理地址的规定的16位,则能从在非易失性存储器2内已存储的全部的第2表80中确定规定的1个第2表。
这样,通过预先决定第2表80能存储的页A,可减小第1表的容量。此外,在存储器1内的ROM等的存储器中预先存储了物理地址的规定的5位为‘01000’的页A是存储第2表80的页A这一点。在本实施例中,物理地址的规定的5位为‘01000’的页A成为存储第2表80的页A。但是,物理地址的规定的5位为‘01000’以外的页A也可存储第2表80。
如果登记第1物理地址,则上述第1表编制装置511判断是否参阅了应参阅的全部的标志区90(图7,S705)。在判断为没有参阅全部的标志区90的情况下,上述逻辑块表53进行尚未参阅的其它的标志区90的参阅(图7,S706)。而且,重复进行同样的处理,直到判断为参阅了全部的标志区90。
此外,在本实施例中,由于在非易失性存储器2内存储了213个与表示有效值的标志区90对应的第2表80,故上述区域50为213个。于是,第1表51的容量为16位×213=16KB。后面叙述与表示有效值的标志区90对应的第2表为213个的原因。
另一方面,在判断为标志区90为无效值的情况下,上述第1表编制装置511如上所述,不将物理地址或识别编号登记在第1表51中而转移到程序705。
这样就编制了物理块表52、逻辑块表53、第1表51,但编制这些表的顺序不限定于已说明的顺序,例如也可同时编制3个表。
此外,在上述的说明中,分开的表编制装置独立地编制了物理块表52、逻辑块表53、第1表51,但也可如以下所述那样各表编制装置联系起来编制物理块表52、逻辑块表53、第1表51。
例如,在物理块表编制装置521编制物理块表52时,在判断物理块B内是否存储了数据时,有在该物理块B中检测第2表80的情况。这样,如果上述物理块表编制装置521检测第2表80,则上述逻辑块表编制装置531和上述第1表编制装置511依次判断与该第2表80对应的标志区90的值是有效值还是无效值。再者,逻辑块表编制装置531在标志区90表示有效值的情况下,将由该第2表80表示的第2物理地址Ca确定的逻辑块C作为‘有效’登记在逻辑块表53中。另一方面,第1表编制装置511在标志区90表示有效值的情况下,将在该第2表80中已存储的页A的物理地址的规定的16位登记在该第2表80保持的识别编号表示的区域50中。
此外,在电源接通时,处于上述编制装置510中的地址寄存器编制装置551也可用以下示出的方法在上述地址控制部5的RAM上编制图9(a)中示出的地址寄存器55和图9(b)中示出的项目计数器54。
首先,地址寄存器编制装置551对地址寄存器55进行初始化。然后,参阅上述物理块表52将规定数的已擦除物理块的物理地址登记在地址寄存器55中。
如果登记物理块B的物理地址,则上述地址寄存器编制装置551如图9(b)中所示,将已登记在地址寄存器55中的各物理块B的写入了数据的页数(即,‘0’)登记在设置在上述RAM上的项目计数器54中。
此外,也可不是在电源接通时、而是在例如非易失性存储器2的数据的写入处理时进行地址寄存器55的更新和对项目计数器54的页数的登记。此外,在以下的说明中,说明在项目计数器54中登记存储了数据的页数的情况。此外,地址寄存器编制装置551也可在项目计数器54上登记没有存储数据的页数或由各物理块B构成的逻辑块C的数目。
<关于写入>
如果编制上述物理块表52、逻辑块表53、上述第1表51,则上述存储器1能接受来自数据输入输出装置7的数据的写入。此外,在本实施例中,由非易失性存储器2构成的逻辑块C为16KB。因此,由于在该非易失性存储器2中构成1GB/16KB=216个逻辑块C,故为了表现逻辑块C,必须有16位的信息。因此,从数据输入输出装置7对存储器1的数据的写入要求由16KB的数据和16位的逻辑地址S构成。
从上述数据输入输出装置7发送的写入要求由存储器1中具备的输入输出控制部4来接受。
如果接受数据和逻辑地址S,则逻辑地址S将已接受的数据分割为32个数据块,其中,每个数据块为1个写入单位、即512B,同时对缓冲器31~34各传送8个数据块。输入输出控制部4将已接受的写入要求中包含的逻辑地址S传送给在存储器1中设置的写入装置100。
如果该写入装置100接受逻辑地址S,则决定由哪个物理块B来构成由成为写入对象的数据构成的逻辑块C。此外,在本实施例中,由于用4条总线D1~D4连接了上述缓冲器31~34与非易失性存储器2,故假定上述写入装置100横跨4个物理块B来构成逻辑块C1。
首先,上述写入装置100将4个物理块的物理地址登记在地址寄存器55中。之所以登记4个物理块,是因为在本实施例中在存储器1中具备4条总线D1~D4。例如,如图9(a)中所示,如果在上述地址寄存器55中登记4个物理块B1~B4,则写入装置100将该物理块B1~B4作为写入候补物理块来决定(图10,S1001)。如果登记物理块B的物理地址,则写入装置100如上所述,如图9(b)中所示,将已登记在地址寄存器55中的各物理块B的数据的页数(即,‘0’)登记在上述项目计数器54中。此时,写入装置100起到地址寄存器编制装置551的作用。
此外,在地址寄存器55中预先登记了物理块B的情况下,写入装置100将预先登记的物理块B作为写入候补物理块来决定。
其次,上述写入装置100参阅上述项目计数器54,决定是否将上述写入候补物理块定为写入物理块(图10,S1002)。在此,由于将成为写入对象的32个数据块存储在4个物理块B中,故在1个物理块B中存储8个数据块。因此,上述写入装置100参阅与上述4个写入候补物理块对应的项目计数器54的值,确认该值是否为24以下、即是否有未写入8页以上的数据的页。
在此,如图9(b)中所示,由于与物理块B1~B4对应的项目计数器54的值为‘8’,故上述写入装置100将上述写入候补物理块B1~B4决定为写入物理块B1~B4。
此外,在与写入候补物理块B1~B4对应的项目计数器54的值保持为25以上的值的情况下,上述写入装置100将该写入候补物理块B1~B4决定为不能写入的物理块。接着,上述写入装置100参阅上述物理块表52,选择与在此已决定的不能写入的物理块的数目相同的已擦除物理块B。再者,上述写入装置100将在此已选择的已擦除物理块B决定为写入物理块,作为使用中物理块登记在上述物理块表52中(图10,S1003~S1004)。上述写入装置100将在此作为使用中物理块登记在上述物理块表52上的写入物理块的物理地址登记在上述地址寄存器55中(图10,S1005)。
此外,之所以在地址寄存器55中保持了项目计数器54的值为25以上的物理块B的物理地址,是因为在从前1次的写入处理到这次的写入处理为止的期间内,有不进行地址寄存器55的更新的情况。即,如果不更新地址寄存器55,则成为利用前1次的数据的写入在全部页A中将已写入数据的物理块B的物理地址保持在上述地址寄存器55中的状态。
如上所述,如果上述写入装置100决定4个写入物理块,则参阅项目计数器54从各写入物理块各选择8页写入构成逻辑块C的数据块的写入页(图10,S1006)。此外,在本实施例中,上述写入装置100从物理地址小的页A起顺序地写入数据。因此,如图9(b)那样,在与写入物理块B1~B4对应的项目计数器54的值为‘8’的情况下,在构成物理块B1~B4的页A中从物理地址的最小的页A到第8小的页A(图12的用一点划线L包围的页)中写入了数据。
因此,上述写入装置100将构成物理块B1~B4的页A中从物理地址的第9小的页A到第16小的页A作为写入页来决定,存储已决定的写入页的物理地址。
其次,上述写入装置100使用从数据输入输出装置7与数据一起传送来的逻辑地址S的规定位S1(在本实施例中,如上所述,由于区域50有213个,故是高位13位),确定上述第1表51的1个区域50(图10,S1007)。此外,也可使用逻辑地址中规定的13位、例如低位13位来确定1个区域50。
上述写入装置100读取登记在特定的区域50上的上述第1物理地址、即存储了第2表80的页A的物理地址的规定的16位,对该已读取的物理地址附加‘01000’,生成存储了第2表80的页A的物理地址。
如果上述写入装置100生成存储了第2表80的页A的物理地址,则判断是否在该已生成的物理地址的页A中已存储了例如第2物理地址等的物理地址等(图11,S1008)。
如果上述写入装置100判断为在页A中已存储了数据等,则将该页A的管理区Ab中已存储的第2表80作为改写表,在读出缓冲器31~34等的同时,将在该页A中已存储的第2表80认定为无效表(图11,S1009)。而且,写入装置100使用逻辑地址S的其它的规定位S2、在此是低位3位,确定读出了的改写表的更新区81,判断在该更新区81中是否写入了第2物理地址Ca。此外,在本实施例中,改写表(第2表80)由8个更新区81构成。由8个更新区81构成的原因在后面叙述。
只在更新区81中写入了第2物理地址Ca的情况下,上述写入装置100将由该第2物理地址Ca确定的逻辑块C作为‘无效’登记在逻辑块表53中。
其次,上述写入装置100将代表上述存储了的写入页的代表页的物理地址的规定的16位作为第2物理地址Ca写入上述已确定的更新区81中(图11,S1010)。此外,之所以只将规定的16位登记在更新区81中,是因为在本实施例中,全部代表页a的物理地址的规定的5位为‘00000’。此外,上述写入装置100可预先存储了指示代表页a是物理地址的规定的5位为‘00000’的页A的要旨,也可使存储器1内的ROM等的存储器存储该要旨。
这样,之所以将改写表读出到缓冲器31~34中来改写更新区81,是因为在非易失性存储器2中不能进行数据覆盖写入。
如上所述,如果将第2物理地址Ca写入到更新区81中,则上述写入装置100使用总线D1~D4将处于缓冲器31~34中的数据块写入到写入页的数据区Aa中。此外,写入装置100将上述改写表写入到规定的1个或多个写入页的管理区Ab中,如以下所述,将连锁信息写入到1个或多个写入页的管理区Ab中(图11,S1011)。所谓该连锁信息,是通过读出装置60等读取构成逻辑块C的代表页a中已写入的数据来得到构成该逻辑块C的其它的写入页的物理地址用的信息。
例如,如图12中所述,如果假定逻辑块C1的代表页a是页1,则将逻辑块C1的页2的物理地址作为连锁信息写入到该页1的管理区Ab中。同样,如果在页N的管理区Ab中存储表示页(N+1)的物理地址的连锁信息,则后述的读出装置60通过依靠该连锁信息可得到图12中示出的构成逻辑块C1的全部的页2~32的物理地址。
此时,读出装置60为了得到页20的物理地址,必须读取在页1至页19中已存储的连锁信息。因而,相应地读出装置60的对于也20的存取时间变长。
因此,为了缩短该存取时间,例如也可将从页2至页32的物理地址作为连锁信息写入到代表页a(页1)的管理区Ab中。读出装置60通过读取在也1的管理区Ab中已存储的连锁信息,可得到从页2至页32的物理地址。其结果,对于各页的存取时间缩短了。
此外,从构成例如该逻辑块C1的各物理块B1~B4的起始页1~4的物理地址可容易地得到构成逻辑块C1的各页A的物理地址。如果要得到页20的物理地址,则对页4的物理地址加4即可。因此,可将从页2至页4的物理地址作为连锁信息写入到页1(代表页a)的管理区Ab中,来代替将从页2至页32的物理地址作为连锁信息来写入。
此外,在上述管理区Ab中,除了连锁信息以外,有时也写入例如第2表80或误差改正信息等的管理信息。由于在管理区Ab中不能确保那么大的区域,故如果在管理区Ab中存储了连锁信息,则不能在该管理区Ab中存储第2表等。
假定例如在图12中示出的构成逻辑块C1的页1~32中的页2、6、10、14、18、22、26、30的管理区Ab中可存储第2表80。
假定如已叙述的那样,如果在页N的管理区Ab中存储表示页(N+1)的物理地址的连锁信息,则在存储了第2表80的页2、6、10、14、18、22、26、30的管理区Ab中也写入连锁信息。如果在页2、6、10、14、18、22、26、30的管理区Ab中存储连锁信息,则产生不能在该管理区Ab中不能确保存储第2表80用的容量的情况。因此,上述写入装置100在管理区Ab中在存储了第2表80以外的页A中写入连锁信息。
具体地说,将表示页{(4k+3)、k=0、1、2、…、7}的物理地址的连锁信息C11不是写入到有第2表80的页(4k+2)的管理区Ab中,而是写入到页(4k+1)的管理区Ab中。于是,如图12中所示,在页(4k+1)的管理区Ab中写入表示页(4k+2)的物理地址的连锁信息C10和写入表示页(4k+3)的物理地址的连锁信息C11。再者,在页(4k+3)的管理区Ab中写入表示页(4k+4)的物理地址的连锁信息C12,在页(4k+4)的管理区Ab中写入表示页(4k+1)的物理地址的连锁信息C13。
如果能以这种方式写入连锁信息,则可在存储第2表80的管理区Ab以外的管理区Ab中存储连锁信息。
此外,如果在页N的管理区Ab中存储表示页(N+1)的物理地址的连锁信息,则读出装置60通过参阅页N的管理区Ab可得到表示页(N+1)的物理地址的连锁信息。另一方面,在进行了上述那样的连锁信息的写入的情况下,读出装置60即使参阅有第2表80的页(4k+2)的管理区Ab,也不能得到表示下一页(4k+3)的物理地址的连锁信息。因此,读出装置60在对于页(4k+1)进行读出时,不仅读出连锁信息C10,也读出全部的连锁信息、在此是连锁信息C11,并保持连锁信息C11。然后,在对于页(4k+2)进行读出之后,使用已保持的连锁信息C11取得页(4k+3)的物理地址即可。
此外,在上述的例子中,如图12中所示,在页(4k+1)的管理区Ab中写入了连锁信息C10、C11,但也可在在页(4k+1)的管理区Ab中写入连锁信息C12、C13。
但是,由于也有在管理信息中只缺少误差改正信息等的情况,故有在页(4k+1)的管理区Ab中不能确保写入全部的连锁信息C10~C13用的容量、或写入是不适当的情况。因此,预先决定写入到1个管理区Ab中的连锁信息的数目。如果写入装置100在1个管理区Ab中写入一定的数目的连锁信息,则在其它的页A的管理区Ab中写入尚未写入的连锁信息。这里的规定的数目,可根据构成1个逻辑块的页的数目的规格等来决定。
如果数据、改写表、连锁信息的写入处理结束,则上述写入装置100将写入了该改写表的写入页的物理地址的规定的16位作为第1物理地址写入到由改写表的识别编号确定的区域50中(图11,S1012)。其次,上述写入装置100将存储了在上述中认定为无效表的第2表80的页A的标志区90的值更新为无效值(图11,S1013)。
在上述中,非易失性存储器2的数据的写入单位为页A进行了说明,但在本发明的存储器1中,可相对于同一页内的其它区域独立更新上述标志区90。即,在数据擦除后标志区90的初始值为‘00’的情况下,将‘00’定为有效值,将‘FF’定为无效值。于是,上述写入装置100可与其它的区域独立地将标志区90的值从有效值更新为无效值(即,‘00’→‘FF’)。此外,在非易失性存储器2的初始状态的标志区90的值为‘FF’的情况下,将‘FF’定为有效值,将‘00’定为无效值。此外,也可在缓冲器31~34等中读出改写表的同时进行使标志区90为无效值的处理。
之所以以这种方式将无效表的标志区90的值更新为无效值,是因为在切断存储器1的电源并在其后接通电源时,上述逻辑块表编制装置531直到由第2物理地址Ca确定的逻辑块C作为‘有效’来登记。此外,如果不更新标志区90,则在多个非易失性存储器2内存在保持相同的识别编号的第2表80。为此,如果有多个识别编号相同的第2表80,则不能决定上述第1表编制装置511登记的第1物理地址。
这样,通过更新为无效值,在上述更新区81的改写后,在切断本发明的存储器1的电源并在其后接通电源时,第1表编制装置511可取得存储了标志区90为有效的第2表80的页A的物理地址。于是,第1表编制装置511将有效的第2表的物理地址的规定的16位作为第1物理地址登记在第1表51上。
如果上述写入装置100在程序S1015中将标志区90的值更新为无效值,则更新上述项目计数器54和逻辑块表53(图11,S1014)。
关于项目计数器54的更新,例如将写入页数加到与上述写入物理块B1~B4对应的项目计数器54保持的值上。关于逻辑块表53的更新,将写入了数据的代表页a所属的逻辑块C作为‘有效’登记在上述逻辑块表53中。
此外,上述写入装置100在程序S1008中在判断为在存储了第2表80的页A中没有存储数据的情况下,如上所述,不将第2表作为改写数据在缓冲器31~34中读出,而进入程序1010。
此外,例如在存储器1接受了写入要求时,或以规定的周期由地址寄存器编制装置551来更新上述地址寄存器55。所谓该更新,是例如地址寄存器编制装置551参阅与规定的物理块B对应的项目计数器54保持的值,从地址寄存器55中擦除例如项目计数器54的值为32的物理块B的物理地址。此外,如果地址寄存器55被更新,则项目计数器54的值自动地被地址寄存器编制装置551更新为0。
此外,在关于电源接通时的说明中,上述物理块表编制装置521判断了物理块是否为不良。在上述写入装置100进行写入时,上述写入装置100也可判断了写入物理块是否为不良。此时,使上述写入装置100作为上述不良物理块判断装置522、上述使用状态设定装置523、上述有效状态设定装置532来工作。
<关于数据的读出>
如上所述,由于本发明的存储器的非易失性存储器2的存储容量为1GB,逻辑块C的容量为16KB,故在该非易失性存储器2中构成216个逻辑块C。因此,为了表现在非易失性存储器2内已构成的1个逻辑块C,必须有16位的信息。
因此,在例如从上述数据输入输出装置7发送的数据的读出要求中包含确定读出对象的逻辑块C用的16位的逻辑地址S。
如果从上述数据输入输出装置7对存储器1发送例如图12中示出的逻辑块C1的读出要求,则由上述输入输出控制部4接受该读出要求,如果该输入输出控制部4接受读出要求,则将该读出要求传送给读出装置60。
如果上述读出装置60接受读出要求,则如图13中所示,使用该读出要求中包含的逻辑地址S的高位13位S1,确定上述第1表51的1个区域50(图14,S1401)。
上述读出装置60读取登记在特定的区域50中的第1物理地址Tn(n:0~213-1),再对已读取的第1物理地址附加‘01000’,生成存储了第2表80的页A的物理地址(Tn+01000)(图14,S1402)。
其次,读出装置60使用上述逻辑地址的低位3位S2确定在上述已生成的物理地址的页A中存储了的第2表80的1个更新区81(图14,S1403)。读出装置60读出在此确定了的更新区81中存储了的第2物理地址Can(n:0~23-1),对该第2物理地址Can附加‘00000;生成代表页a的物理地址(Can+00000)(图14,S1404)。
这样,通过使用2个表确定代表页a的物理地址,如以下所示那样,可削减在RAM上设置的第1表51的容量。
例如,如上所述,1个第2表80由8个更新区81构成,在能存储8个第2物理地址Ca的情况下,第1表51的存储容量如以下所示那样。
由于能用1个第2表80登记与8个代表页a对应的第2物理地址Ca,故在确定216个代表页a方面所必要的第2表80的数为216/23=213个。
由此,确定第2表80用的第1表51保持213个第1物理地址即可,于是就存在213个区域50。因而,第1表51的容量为16位×213=16KB。
另一方面,在只用设置在RAM上的表确定第2物理地址Ca的情况下,该表必须保持216个第2物理地址Ca。此时,表的容量为16位×216=128KB。这样,在本发明的存储器1中,可谋求RAM的容量的削减。
如果生成逻辑块C1的代表页a(图12的页1)的物理地址,则读出装置60利用与该代表页a连接的总线D1在缓冲器31中读出写入到代表页a中的数据和连锁信息C10、C11(图14,S1405)。
其次,读出装置60参阅已读出的连锁信息C10、C11,读出在该连锁信息C10、C11表示的物理地址的页A中已存储的数据和连锁信息。在此,由于连锁信息C10示出了页2的物理地址,连锁信息C11示出了页3的物理地址,读出装置60使用总线D2、总线D3,在缓冲器32、33中读出在页2、页3中已存储的数据和连锁信息。
在此,由于读出装置60可利用2条总线D2、D3读出在页2、页3中已存储的数据和连锁信息,故可迅速地进行读出处理。此外,在(4k+1)页的管理区Ab中存储了C10、C11、C12、C13的情况下,读出装置60可利用4条总线D1~D4,同时在缓冲器31~34中读出在页(4k+1)、(4k+2)、(4k+3)、(4k+4)中已存储的数据和连锁信息。
这样,读出装置60进行读出连锁信息表示的物理地址的页A中已存储的数据和连锁信息的处理,进行上述处理,直到逻辑块的最后的页。
如果在缓冲器31~34中读出数据,则读出装置60将该数据经上述输入输出控制部4发送给例如上述数据输入输出装置7(图14,S1406)。
此外,在上述读出要求中有指示只读出与逻辑块C1的例如在页20中已存储的数据相比其页编号大的数据的取出前面部分的要求。在该取出前面部分的要求中,包含了上述逻辑地址S和表示成为取出前面部分的要求的对象的数据的标题的逻辑地址的5位的逻辑地址(以下,称为「取出前面部分的地址」)。
如果从上述数据输入输出装置7对存储器1发送取出前面部分的要求,则上述输入输出控制部4接受该取出前面部分的要求,对上述读出装置60传送该取出前面部分的要求中包含的逻辑地址S和取出前面部分的地址。
如果上述读出装置60接受逻辑地址S和取出前面部分的地址,则判断该取出前面部分的地址表示第几页的数据。其次,读出装置60使用逻辑地址S,如上所述,确定代表页a的物理地址。如果确定代表页a的物理地址,则读出装置60使用连锁信息读出写入到比取出前面部分的地址表示的页(在此,页20)大的页中的数据。这样,读出装置60在对成为取出前面部分的要求的读出的对象的数据进行存取时,也可使用连锁信息。
但是,上述第2表80可忽略多个页A来构成。例如第2表80可横跨物理地址连续的4页来构成。此外,在第2表80横跨4页来构成的情况下,在该4页中规定的1个页中设置表示该第2表80的有效或无效的标志区90。
<关于擦除>
如上所述,如果以规定的周期进行写入处理,则在上述非易失性存储器2中存在多个存储了有效的数据和无效的数据的物理块B。由于非易失性存储器的数据的擦除单位是物理块B,故如果打算擦除在这样的物理块B中已存储的无效的数据,则必须也擦除在该物理块B中已存储的有效的数据。
在这样的状况下,为了不擦除有效的数据、只是高效率地擦除无效的数据、增加非易失性存储器2的空闲的容量,如以下那样来进行数据的擦除。
擦除装置70首先参阅上述物理块表52并参阅上述逻辑块表53,研究由在上述物理块表52中作为使用中物理块已登记的物理块B构成的逻辑块的状态(图15,S1501)。
擦除装置70将在上述物理块表52中登记为使用中物理块的物理块B中只构成了2个以下的逻辑块表53中作为‘有效’登记的有效逻辑块的物理块B作为擦除物理块来决定(图15,S1502)。
上述擦除装置70使用与构成擦除物理块的有效逻辑块C对应的代表页a中已存储的连锁信息,把握该有效逻辑块C(以下,称为「有效逻辑块」)由哪个物理块B构成(图15,S1503)。
接着,上述擦除装置70将由擦除物理块构成的有效逻辑块C整体(也包含一部分由擦除物理块构成的有效逻辑块C)作为保存数据在代表页a中读出。此外,在保存数据中也包含登记了确定该保存数据中包含的有效逻辑块C的代表页a的物理地址的第2物理地址的第2表80。
如果读出保存数据,则擦除装置70将在代表页a中读出该保存数据的要旨通知上述写入装置100。
在此,读出装置60用与从数据输入输出装置7发送的数据的写入页的选择同样的方法,选择写入保存数据的写入页(图15,S1504)。如果选择写入页,则读出装置60根据写入页的物理地址,改写在保存数据中已存储的连锁信息(图15,S1505)。例如,在代表页a中已读出的逻辑块C的代表页的管理区Ab中写入写入页的全部的物理地址。如果改写连锁信息,则读出装置60将在代表页a中已读出的保存数据写入到写入页中(图15,S1506)。此外,上述读出装置60将保存数据中包含的第2表80写入到保存数据的写入页中物理地址的规定的5位为‘01000’的页A中。上述读出装置60将根据该第2表80的识别编号确定的区域50更新为写入了该第2表80的页A的物理地址的规定的16位。
如果上述读出装置60写入保存数据,则与有写入要求的情况同样地从数据输入输出装置7更新项目计数器54、逻辑块表53。如果更新项目计数器54、逻辑块表53,则上述读出装置60将写入了保存数据的要旨通知上述擦除装置70。
如果上述擦除装置70接受该通知,则在擦除上述擦除物理块中已存储的数据的同时,将上述擦除物理块作为已擦除物理块登记在上述物理块表52中(图15,S1507)。
在上述中,作为决定擦除物理块的条件,定为,①在上述物理块表52中作为使用中物理块已登记,②只构成2个以下的有效逻辑块,但也可例如在该条件中附加在地址寄存器55中没有保持物理地址这一点。此外,上述条件不限于上述那样的情况,即使是只构成1个以下的有效逻辑块这样的条件也没有关系。这样,通过将存储了多个无效的数据的物理块B定为上述擦除物理块,上述擦除装置70可将少量的数据读出到缓冲器31~34中。
此外,无效的数据的擦除的时序不作限定,例如擦除装置70也可以规定的周期自动地进行。
此外,在关于电源接通时的说明中,上述物理块表编制装置521判断了物理块是否为不良。在上述擦除装置70进行擦除时,上述擦除装置70也可判断擦除对象的物理块是否为不良。此时,使上述擦除装置70作为上述不良物理块判断装置522、上述使用状态设定装置523、上述有效状态设定装置532来工作。
(实施例2)
上述写入装置100进行了将存储了在上述中认定为无效表的第2表80的页A的标志区90的值更新为无效值的处理。但是,为了尽可能高速地进行写入处理,必须省略这样的处理。
因此,上述写入装置100如以下那样来决定写入在缓冲器31~34中读出了的改写表的页A,通过在已决定的页A中写入第2表80来省略上述处理。
首先,写入装置100判断在与无效表相同的物理块B内的页A中是否有与存储了无效表的页A相比物理地址大的且满足物理地址的规定的5位为‘01000’且可能被写入了数据这样条件的页A。关于规定的5位为‘01000’这样的条件,是因为,在本实施例中,只有物理地址的规定的5位为‘01000’的页A才能存储上述第2表80。在有满足该条件的页A的情况下,上述写入装置100将满足该条件中物理地址的最小的页A作为存储改写表的页A来决定。上述写入装置100在以这种方式决定了的页A中存储改写表时,不进行将无效表的标志区90的值更新为表示无效的值的处理。
在没有满足该条件的页A的情况下,上述写入装置100将属于存储了无效表的物理块B以外的规定的物理块B的、且物理地址的规定的5位为‘01000’的页A中物理地址最小的页A作为改写表的写入页来决定。在以这种方式决定了的页A中存储改写表时,写入装置100与实施例1相同地,将无效表的标志区90的值更新为无效值。
写入装置100在如上所述地决定了写入改写表的页A时,上述逻辑块表编制装置531、第1表编制装置511如以下那样编制逻辑块表53、第1表51。
如果在存储器1中接通电源,则上述逻辑块表编制装置531首先对上述逻辑块表53进行初始化(图16,S1601)。接着,上述逻辑块表编制装置531在各物理块B中进行以下那样的处理。
上述逻辑块表编制装置531将物理地址的低位5位为‘01000’的页A作为检测对象页来识别。其次,上述逻辑块表编制装置531从该检测对象页中物理地址大的检测对象页起按顺序参阅标志区90的值,进行标志区90的值为有效值的检测对象页的检测(图16,S1601)。上述逻辑块表编制装置531在该检测处理中,在最初检测出检测对象页时,不进行程序1603,参阅在该检测对象页中已存储的第2表80中已登记的第2物理地址。上述逻辑块表编制装置531将由在第2表80中已登记的第2物理地址确定的逻辑块C作为‘有效’登记在上述逻辑块表53中(图16,S1604)。然后,逻辑块表编制装置531将最初检测出的第2表80保持的识别编号存储在存储器535中(图16,S1605)。
如果作为‘有效’登记,则逻辑块表编制装置531从与上述最初检测出的检测对象页相比物理地址小的检测对象页中的物理地址大的页起按顺序参阅标志区90的值,进行该值为有效值的检测对象页的检测。如果检测出标志区90的值为有效值的检测对象页,则逻辑块表编制装置531判断该页A中已存储的第2表80中所保持的识别编号与在上述存储器535中已存储的识别编号是否相同(图16,S1603~1604)。
如果判断为不相同,则上述逻辑块表编制装置531将由在该第2表80中已登记的第2物理地址Ca确定的逻辑块C作为‘有效’登记在逻辑块表53中,在上述存储器535中存储在该第2表80中已保持的识别编号(图16,S1605)。如果判断为相同,则上述逻辑块表编制装置531不在逻辑块表53中登记由在该第2表80中已登记的第2物理地址Ca确定的逻辑块C,而是再次开始上述标志区90的值为有效值的检测对象页的检测。
这样,上述逻辑块表编制装置531只将由在保持没有存储在上述存储器535中的识别编号的第2表中已登记的第2物理地址Ca确定的逻辑块C作为‘有效’登记在上述逻辑块表53中。
上述逻辑块表编制装置531进行规定的物理块B的全部检测对象页的标志区90的参阅(图16,S1606),对上述存储器535进行初始化,对于尚未进行检测对象页的参阅的物理块B进行该检测处理(图16,S1607~1608)。
此外,如果接通电源,则第1表编制装置511对上述第1表51进行初始化(图17,S1701),与上述逻辑块表编制装置531同样地对于各物理块进行以下那样的处理。
上述第1表编制装置511从规定的物理块B的检测对象页中物理地址大的页起按顺序参阅标志区90的值,(图17,S1702)。上述第1表编制装置511在该检测处理中,在最初检测出检测对象页时,不进行程序1703,而是转移到程序1704。即,将该检测对象页的物理地址的规定的16位作为第1物理地址登记在由在该检测对象页中已存储的第2表80保持的识别编号表示的区域50中(图17,S1704)。
如果登记第1物理地址,则第1第1表编制装置511从与上述最初检测出的检测对象页相比物理地址小的检测对象页中的物理地址大的页起按顺序参阅标志区90的值,进行该值为有效值的检测对象页的检测。如果检测出标志区90的值为有效值的检测对象页,则第1表编制装置511判断该检测对象页中已存储的第2表80中所保持的识别编号与在上述存储器515中已存储的识别编号是否相同(图17,S1703~1704)。
如果判断为不相同,则第1表编制装置511将存储了该第2表80的检测对象页的物理地址的规定的16位作为第1物理地址登记在由该第2表80保持的识别编号表示的区域50中。然后第1表编制装置511将保持有最初检测的第2表80的识别编号存储于存储器515中(图17,S1705)。如果判断为相同,则第1表编制装置511不在由该第2表80中已保持的识别编号表示的区域50中登记检测对象页的物理地址的规定的16位(第1物理地址)。
这样,上述第1表编制装置511将存储了保持没有存储在上述存储器515中的识别编号的第2表80的检测对象页的物理地址的规定的16位作为第1物理地址登记在由该识别编号表示的区域50中。
如果上述第1表编制装置511进行规定的物理块B的全部检测对象页的标志区90的参阅(图17,S1706),对上述存储器515进行初始化,对于尚未进行检测对象页的参阅的规定的物理块B进行该检测处理(图17,S1707~1708)。
如上所述,通过上述逻辑块表编制装置531编制逻辑块表53、上述第1表编制装置511编制第1表51,在将改写表写入到与存储了无效表的物理块B相同的物理块B中时,即使不将与无效表对应的标志区90的值更新为无效,也可编制逻辑块表53和第1表51。
此外,关于上述条件,写入装置在例如与无效表相同的物理块B内的页A中有与存储了无效表的页A相比物理地址小、且物理地址的规定的5位为‘01000’的页A时,也可在该页A中写入改写数据。此时,上述写入装置在没有满足该条件的页时,在属于存储了无效表的物理块B以外的规定的物理块B的、且物理地址的规定的5位为‘01000’的页A中物理地址最大的页A中,将改写数据作为写入页来决定。
在这样的条件下,在决定了写入改写数据的页时,上述逻辑块表编制装置531、第1表编制装置511从物理地址的最小检测对象页起按顺序进行标志区90的参阅。
如以上已说明的那样,由于本发明的存储器使用上述第1表和第2表,将逻辑地址变换为物理地址,故可削减在RAM上设置了的第1表51的容量。因而,可实现小型且存储容量大的存储器。
此外,本发明的存储器通过将构成该逻辑地址的物理地址作为连锁信息写入到构成逻辑块的规定的写入单位中,可很快地对构成该逻辑块的全部写入单位进行存取。
由于判断对物理块已写入的数据的状况来进行写入数据的写入单位或擦除的物理块的选择,故可高效率地进行数据的写入或数据的擦除。由于只在与无效表不同的物理块中写入改写表的情况下将无效表的标志区的值更新为无效值,故可高速地进行写入处理。
此外,通过将物理块表表示的不良物理块的使用状态定为有效状态,可抑制写入的延迟。其结果,可谋求数据存取的高速化。再者,通过对于与不良物理块对应的逻辑块将逻辑块表表示的状态定为有效状态,可抑制擦除的延迟。其结果,可谋求数据存取的高速化。

Claims (22)

1.一种存储器,由逻辑地址得到非易失性存储器内的物理地址,其特征在于,具备:
第1表,得到与构成上述逻辑地址的规定位对应的非易失性存储器上的第1物理地址;以及
第2表,得到由上述第1物理地址确定且与不同于上述逻辑地址的上述规定位的其它位对应的非易失性存储器上的第2物理地址。
2.如权利要求1中所述的存储器,其特征在于:
上述第2物理地址是确定代表写入单位的物理地址的信息,上述代表写入单位代表构成逻辑块的多个写入单位,上述逻辑块是上述逻辑地址所表示的数据块。
3.如权利要求2中所述的存储器,其特征在于:
具备写入装置,该写入装置伴随在上述非易失性存储器中构成上述逻辑块的处理,将确定该逻辑块的代表写入单位的物理地址的信息作为上述第2物理地址登记在上述第2表中。
4.如权利要求1中所述的存储器,其特征在于:
具备写入装置,该写入装置伴随在上述非易失性存储器中构成上述逻辑块的处理,进行使第1物理地址确定的第2表变为无效的处理,其中上述第1物理地址与表示在规定写入单位中所存储的该逻辑块的逻辑地址的规定位对应;和进行将第2表复制到其它写入单位中并将确定该其它写入单位的物理地址的信息作为上述第1物理地址写入到上述第1表中的处理,其中,上述第2表将用来确定上述逻辑块的代表写入单位的物理地址的信息作为上述第2物理地址来登记。
5.如权利要求1中所述的存储器,其特征在于:
具备写入装置,该写入装置伴随在上述非易失性存储器中构成上述逻辑块的处理,进行使第1物理地址确定的第2表变为无效的处理,其中上述第1物理地址与表示在作为该非易失性存储器的数据的擦除单位的规定物理块中所存储的该逻辑块的逻辑地址对应;和进行将第2表复制到其它物理块的规定页中并将确定该页的物理地址的信息作为上述第1物理地址写入到上述第1表中的处理,其中,上述第2表将用来确定上述逻辑块的代表写入单位的物理地址的信息作为上述第2物理地址来登记。
6.如权利要求1中所述的存储器,其特征在于:
具备根据在上述第2表中保持的识别编号和该第2表的物理地址来编制上述第1表的第1表编制装置。
7.如权利要求4中所述的存储器,其特征在于:
具备根据未变为无效的第2表的物理地址来编制上述第1表的第1表编制装置。
8.如权利要求5中所述的存储器,其特征在于:
具备根据在同一物理块内表示第1表区域的识别编号为相同的多个第2表中最初检测出的未被认定为无效的第2表的物理地址,来编制上述第1表的第1表编制装置。
9.如权利要求2中所述的存储器,其特征在于:
具备根据表示登记有上述第2物理地址的第2表是有效还是无效的标志,编制表示含有由该第2物理地址确定了物理地址的代表写入单位的逻辑块状况的逻辑块表的逻辑块表编制装置。
10.如权利要求1中所述的存储器,其特征在于:
具备:
物理块表,表示作为上述非易失性存储器的数据擦除单位的物理块的状态;
地址寄存器,表示成为数据写入对象的物理块;以及
项目计数器,表示在上述地址寄存器中示出的物理块中被写入的数据量,
还具备:
地址寄存器,表示构成作为逻辑地址表示的数据块的逻辑块的写入单位;以及
写入装置,根据上述物理块表、上述地址寄存器和上述项目计数器,在该非易失性存储器中构成新的逻辑块。
11.如权利要求10中所述的存储器,其特征在于:
上述写入装置根据上述新构成的逻辑块的状态来更新上述物理块表、上述地址寄存器、上述项目计数器和表示上述逻辑块状况的逻辑块表。
12.如权利要求10中所述的存储器,其特征在于:
具备根据上述逻辑块表、上述物理块表和上述地址寄存器所表示的内容来擦除规定物理块的数据的擦除装置。
13.如权利要求10中所述的存储器,其特征在于:
具备判断是否在上述物理块中写入了数据并根据该判断来编制上述物理块表的物理块表编制装置。
14.如权利要求10中所述的存储器,其特征在于,具备:
不良物理块判断装置,判断上述物理块是否为不良;以及
使用状态设定装置,在由上述不良物理块判断装置判断为上述物理块为不良的情况下,将上述物理块表表示的该物理块的使用状态设定为使用中。
15.如权利要求10中所述的存储器,其特征在于,具备:
不良物理块判断装置,判断上述物理块是否为不良;以及
有效状态设定装置,对与由上述不良物理块判断装置判断为不良的上述物理块对应的逻辑块,将表示上述逻辑块状况的上述逻辑块表所表示的状态设定为有效状态。
16.如权利要求4、5、7、8中的任一项所述的存储器,其特征在于:
在存储了上述第2表的写入单位中设置了存储表示第2表为有效或无效的标志的标志区。
17.一种存储器,其特征在于,其备:
构成作为逻辑地址所表示的数据块的逻辑块的表,用于从上述逻辑地址中得到由存储数据的数据区和存储用于管理数据的管理信息的管理区构成的非易失性存储器的写入单位中代表该逻辑块的代表写入单位的物理地址;和
写入装置,在上述管理区中写入用于得到与上述代表写入单位相同的构成逻辑块的其它写入单位的物理地址的连锁信息。
18.如权利要求17中所述的存储器,其特征在于:
上述写入装置将上述连锁信息写入在上述管理区中写入规定管理信息的写入单位以外的写入单位的管理区中。
19.如权利要求17中所述的存储器,其特征在于:
上述管理信息是规定数以上的其它连锁信息。
20.如权利要求17中所述的存储器,其特征在于:
上述表由第1表和第2表构成,上述第1表用来得到与构成上述逻辑地址的规定位对应的非易失性存储器上的第1物理地址,上述第2表被存储在由上述第1物理地址确定的写入单位的管理区中,用来根据与上述逻辑地址的上述规定位不同的位得到上述代表写入单位的物理地址,
上述管理信息是上述第2表。
21.如权利要求17中所述的存储器,其特征在于:
具备根据上述代表写入单位的物理地址和上述连锁信息读出逻辑块的读出装置。
22.一种存储器,其特征在于:
具备:
物理块表,表示作为非易失性存储器的数据擦除单位的物理块的状态;
地址寄存器,表示成为数据写入对象的物理块;以及
项目计数器,表示在上述地址寄存器中示出的物理块中被写入的数据量,
还具备写入装置,该写入装置根据上述物理块表、上述地址寄存器和上述项目计数器,在该非易失性存储器中构成新的逻辑块。
CNB021079013A 2001-03-22 2002-03-21 用于存储设备的地址转换单元 Expired - Lifetime CN1276358C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP083104/2001 2001-03-22
JP2001083104 2001-03-22
JP257349/2001 2001-08-28
JP2001257349 2001-08-28
JP2001260250 2001-08-29
JP260250/2001 2001-08-29

Publications (2)

Publication Number Publication Date
CN1376980A true CN1376980A (zh) 2002-10-30
CN1276358C CN1276358C (zh) 2006-09-20

Family

ID=27346327

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021079013A Expired - Lifetime CN1276358C (zh) 2001-03-22 2002-03-21 用于存储设备的地址转换单元

Country Status (6)

Country Link
US (2) US6938144B2 (zh)
EP (1) EP1244019A3 (zh)
JP (2) JP4015866B2 (zh)
KR (3) KR100862584B1 (zh)
CN (1) CN1276358C (zh)
TW (1) TW564346B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101031893B (zh) * 2004-09-30 2010-05-12 英特尔公司 使用分层转换表对输入/输出设备的地址转换
WO2011047563A1 (zh) * 2009-10-23 2011-04-28 深圳市江波龙电子有限公司 非易失性存储器数据的读写控制方法及***、存储设备
CN1926616B (zh) * 2004-01-19 2011-09-14 特科2000国际有限公司 使用存储器地址映射表的便携式数据存储设备
US9159427B2 (en) 2007-01-30 2015-10-13 Round Rock Research, Llc Memory devices and their operation with different sets of logical erase blocks
CN109154917A (zh) * 2016-12-29 2019-01-04 华为技术有限公司 存储***和固态硬盘
CN113568579A (zh) * 2021-07-28 2021-10-29 深圳市高川自动化技术有限公司 一种存储器、数据存储方法以及数据读取方法

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3969278B2 (ja) * 2002-10-21 2007-09-05 株式会社デンソー 電子制御装置
JP3924568B2 (ja) * 2004-02-20 2007-06-06 Necエレクトロニクス株式会社 フラッシュメモリにおけるデータアクセス制御方法、データアクセス制御プログラム
TWI249670B (en) 2004-04-29 2006-02-21 Mediatek Inc System and method capable of sequentially writing a flash memory
US7323400B2 (en) * 2004-08-30 2008-01-29 Micron Technology, Inc. Plasma processing, deposition and ALD methods
JP4561246B2 (ja) * 2004-08-31 2010-10-13 ソニー株式会社 メモリ装置
DE102004062245A1 (de) * 2004-12-23 2006-07-13 Giesecke & Devrient Gmbh Verwaltung von Datenobjekten in einem nichtflüchtigen überschreibbaren Speicher
WO2006067853A1 (ja) * 2004-12-24 2006-06-29 Spansion Llc 記憶装置のバイアス印加方法、および記憶装置
DE102005001038B3 (de) * 2005-01-07 2006-05-04 Hyperstone Ag Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern
KR100659475B1 (ko) 2005-05-26 2006-12-20 영남대학교 산학협력단 Zigbee MAC 계층의 재정렬 송신 버퍼 구조
JP4940738B2 (ja) 2006-04-12 2012-05-30 株式会社日立製作所 記憶領域動的割当方法
JP2008009527A (ja) * 2006-06-27 2008-01-17 Toshiba Corp メモリシステム
KR100806343B1 (ko) * 2006-10-19 2008-02-27 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 맵핑테이블 관리 방법
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009072101A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
JP5032371B2 (ja) 2008-03-01 2012-09-26 株式会社東芝 メモリシステム
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8285970B2 (en) 2008-11-06 2012-10-09 Silicon Motion Inc. Method for managing a memory apparatus, and associated memory apparatus thereof
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8566510B2 (en) * 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
TWI450271B (zh) * 2009-09-02 2014-08-21 Silicon Motion Inc 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8510639B2 (en) 2010-07-01 2013-08-13 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8417914B2 (en) * 2011-01-06 2013-04-09 Micron Technology, Inc. Memory address translation
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
JP6040767B2 (ja) * 2012-12-28 2016-12-07 富士通株式会社 配信システム、配信方法、及びプログラム
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
WO2014196000A1 (ja) * 2013-06-03 2014-12-11 株式会社日立製作所 ストレージ装置およびストレージ装置制御方法
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US11016903B2 (en) 2019-08-22 2021-05-25 Micron Technology, Inc. Hierarchical memory systems
CN111885214B (zh) * 2020-06-15 2021-07-02 北京交通大学 一种面向工业异构网络设备的地址统一分配方法及装置
KR102677938B1 (ko) * 2022-01-27 2024-06-25 주식회사 소이넷 데이터 저장장치의 작동방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420993A (en) * 1991-06-13 1995-05-30 Unisys Corporation Extended address translation system for pointer updating in paged memory systems
JP3328604B2 (ja) 1992-06-22 2002-09-30 株式会社日立製作所 半導体記憶装置
JPH06231047A (ja) * 1993-02-05 1994-08-19 Fujitsu Ltd アドレス変換方法および装置
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
JPH06301601A (ja) 1993-04-16 1994-10-28 Sony Corp 情報記録装置及び情報転送装置
JPH0714398A (ja) 1993-06-14 1995-01-17 Hitachi Ltd 半導体記憶装置
US5479627A (en) * 1993-09-08 1995-12-26 Sun Microsystems, Inc. Virtual address to physical address translation cache that supports multiple page sizes
US5446854A (en) * 1993-10-20 1995-08-29 Sun Microsystems, Inc. Virtual memory computer apparatus and address translation mechanism employing hashing scheme and page frame descriptor that support multiple page sizes
JPH08212019A (ja) 1995-01-31 1996-08-20 Mitsubishi Electric Corp 半導体ディスク装置
JP3706167B2 (ja) 1995-02-16 2005-10-12 株式会社ルネサステクノロジ 半導体ディスク装置
JP3197815B2 (ja) 1996-04-15 2001-08-13 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 半導体メモリ装置及びその制御方法
US5827783A (en) * 1996-08-23 1998-10-27 Mosel Vitelic, Inc. Stacked capacitor having improved charge storage capacity
JPH11203191A (ja) 1997-11-13 1999-07-30 Seiko Epson Corp 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体
KR100319598B1 (ko) * 1998-03-18 2002-04-06 김영환 플래시메모리어레이액세스방법및장치
US6286092B1 (en) * 1999-05-12 2001-09-04 Ati International Srl Paged based memory address translation table update method and apparatus
US6721843B1 (en) * 2000-07-07 2004-04-13 Lexar Media, Inc. Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1926616B (zh) * 2004-01-19 2011-09-14 特科2000国际有限公司 使用存储器地址映射表的便携式数据存储设备
CN101031893B (zh) * 2004-09-30 2010-05-12 英特尔公司 使用分层转换表对输入/输出设备的地址转换
US9159427B2 (en) 2007-01-30 2015-10-13 Round Rock Research, Llc Memory devices and their operation with different sets of logical erase blocks
WO2011047563A1 (zh) * 2009-10-23 2011-04-28 深圳市江波龙电子有限公司 非易失性存储器数据的读写控制方法及***、存储设备
CN109154917A (zh) * 2016-12-29 2019-01-04 华为技术有限公司 存储***和固态硬盘
US10768857B2 (en) 2016-12-29 2020-09-08 Huawei Technologies Co., Ltd. Storage system having a controller that selects a die of a solid state disk to store data
CN109154917B (zh) * 2016-12-29 2020-09-29 华为技术有限公司 存储***和固态硬盘
CN113568579A (zh) * 2021-07-28 2021-10-29 深圳市高川自动化技术有限公司 一种存储器、数据存储方法以及数据读取方法
CN113568579B (zh) * 2021-07-28 2022-05-03 深圳市高川自动化技术有限公司 一种存储器、数据存储方法以及数据读取方法

Also Published As

Publication number Publication date
CN1276358C (zh) 2006-09-20
KR100862584B1 (ko) 2008-10-09
KR20070104874A (ko) 2007-10-29
KR20080094882A (ko) 2008-10-27
US20020156988A1 (en) 2002-10-24
US6938144B2 (en) 2005-08-30
JP4384682B2 (ja) 2009-12-16
JP2003150443A (ja) 2003-05-23
KR100880415B1 (ko) 2009-01-30
JP4015866B2 (ja) 2007-11-28
KR20020075291A (ko) 2002-10-04
EP1244019A2 (en) 2002-09-25
TW564346B (en) 2003-12-01
USRE42263E1 (en) 2011-03-29
JP2007280431A (ja) 2007-10-25
EP1244019A3 (en) 2004-11-10

Similar Documents

Publication Publication Date Title
CN1276358C (zh) 用于存储设备的地址转换单元
CN1295706C (zh) 非易失存储器、记录装置和记录方法
CN1315057C (zh) 重映射闪速存储器的方法
CN1249585C (zh) 闪速存储器***
CN1249586C (zh) 闪速存储器***
CN1229724C (zh) 外部存储设备和数据处理方法
CN1698035A (zh) 数据存储装置、更新数据存储装置中的管理信息的方法和计算机程序
CN1906596A (zh) 文件记录装置
CN101051286A (zh) 存储***
CN1493026A (zh) 存储装置及利用此存储装置的记录再生装置
CN1922571A (zh) 数据运行编程
CN1947100A (zh) 非易失性存储***、非易失性存储装置、存储控制器、存取装置以及非易失性存储装置的控制方法
CN1690973A (zh) 远程复制方法及远程复制***
CN101046771A (zh) 使用闪存的存储***及其平均读写方法和平均读写程序
CN1717660A (zh) 文件管理装置、文件管理方法、文件管理程序和记录介质
CN101042674A (zh) 非易失性存储装置及其数据写入方法
CN1366633A (zh) 盘式存储装置、数据预读方法以及记录媒体
CN1942869A (zh) 组合存储器装置、数据写入方法和程序
CN101078999A (zh) 一种实现数据备份和恢复的方法及***
CN101030223A (zh) 用于处理信息的装置、方法、和计算机程序
CN1904859A (zh) 复合型记录装置、数据写入方法和数据写入程序
CN1731402A (zh) 用协处理器加速文件***操作的方法及装置
CN101065725A (zh) 命令供给装置
CN1366634A (zh) 磁盘装置和数据记录方法及数据重放方法
CN1297905C (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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20060920