CN105279102B - 用于控制非易失性存储器的控制器和包括其的半导体器件 - Google Patents

用于控制非易失性存储器的控制器和包括其的半导体器件 Download PDF

Info

Publication number
CN105279102B
CN105279102B CN201410705032.1A CN201410705032A CN105279102B CN 105279102 B CN105279102 B CN 105279102B CN 201410705032 A CN201410705032 A CN 201410705032A CN 105279102 B CN105279102 B CN 105279102B
Authority
CN
China
Prior art keywords
address
block
memory
sevtor
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410705032.1A
Other languages
English (en)
Other versions
CN105279102A (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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN105279102A publication Critical patent/CN105279102A/zh
Application granted granted Critical
Publication of CN105279102B publication Critical patent/CN105279102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/10Address translation
    • 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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/253Centralized memory
    • G06F2212/2532Centralized memory comprising a plurality of modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • 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)
  • Quality & Reliability (AREA)
  • Memory System (AREA)

Abstract

一种控制非易失性存储器的控制器包括:第一存储区,其适于储存第一地址表;第二存储区,其适于储存第二地址表;地址转换块,其适于参照第一地址表和第二地址表将从主机接收的扇区地址转换成与非易失性存储器相对应的物理地址;以及一个或更多个功能块,其适于与地址转换块共享第二存储区。地址转换块独占使用第一储存区。

Description

用于控制非易失性存储器的控制器和包括其的半导体器件
相关申请的交叉引用
本申请要求2014年6月3日提交的申请号为10-2014-0067860的韩国专利申请的优先权,其全部公开内容通过引用合并于此。
技术领域
本发明的各种示例性实施例涉及一种电子器件,且更具体而言,涉及一种用于控制非易失性存储器的控制器和包括所述控制器的半导体器件。
背景技术
半导体存储器件是由诸如硅(Si)、锗(Ge)、砷化镓(GaAs)、磷化铟(InP)等的半导体形成的存储器件。半导体存储器件主要分类成易失性存储器件和非易失性存储器件。
易失性存储器件是当其电源切断时储存的数据消失的存储器件。易失性存储器件包括:静态随机存取存储器(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)等。非易失性存储器件是即使当其电源切断时也能保持储存的数据的存储器件。非易失性存储器件包括:只读存储器(ROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、快闪存储器、相变RAM(PRAM)、磁阻RAM(MRAM)、阻变RAM(RRAM)、铁电RAM(FRAM)等。快闪存储器主要分类成或非型(NOR)或与非型(NAND)。
发明内容
本发明的各种示例性实施例针对一种增加具有减小尺寸的内部随机存取存储器(RAM)的操作速度的控制器。
本发明的一个实施例提供了一种控制非易失性存储器的控制器,所述控制器包括:第一存储区,其适于储存第一地址表;第二存储区,其适于储存第二地址表;地址转换块,其适于访问第一存储区和第二存储区,并且参照第一地址表和第二地址表将从主机接收的扇区地址转换成与非易失性存储器相对应的物理地址;以及一个或更多个功能块,其适于与地址转换块共享第二存储区,其中,地址转换块独占使用第一存储区。
作为一个实施例,所述地址转换块可以以小组块为单位将地址映射从非易失性存储器加载至第一存储区,以产生第一地址表,小组块包括M个扇区地址,以及地址转换块可以以大组块为单位将地址映射从非易失性存储器加载至第二存储区,以产生第二地址表,大组块包括N个扇区地址,N大于M。
作为一个实施例,所述地址转换块可以确定出包括来自主机的扇区地址的小组块,以及在第一地址表中搜索确定出的小组块。
作为一个实施例,当在第一地址表中存在确定出的小组块时,地址转换块可以参照搜索出的小组块的地址映射将从主机接收的扇区地址转换成物理地址,以及当在第一地址表中不存在确定出的小组块时,地址转换块可以确定出包括从主机接收到的扇区地址的大组块,并且在第二地址表中搜索确定出的大组块。
作为一个实施例,地址转换块可以参照搜索出的大组块的地址映射将从主机接收的扇区地址转换成物理地址。
作为一个实施例,当从主机接收的扇区地址对应于热数据时,地址转换块可以确定出包括从主机接收到的扇区地址的小组块,从非易失性存储器读取确定出的小组块中的地址映射,以及在第一地址表中更新读取的地址映射。
作为一个实施例,地址转换块可以参照小组块的更新的地址映射确定物理地址。
作为一个实施例,当从主机接收的扇区地址对应于冷数据时,地址转换块可以确定包括从主机接收的扇区地址的大组块,从非易失性存储器读取确定出的大组块中的地址映射,以及在第二地址表中更新读取的地址映射。
作为一个实施例,地址转换块可以参照大组块的更新的地址映射确定物理地址。
作为一个实施例,在垃圾回收中,地址转换块可以读取与在非易失性存储器中的牺牲块相对应的扇区地址,确定出包括读取的扇区地址的大组块,以及将确定出的大组块的地址映射加载至第二存储区。
作为一个实施例,地址转换块可以参照加载的地址映射确定牺牲块的每个页是否有效。
作为一个实施例,所述控制器还可以包括垃圾回收块,其适于读取牺牲块的有效页中的数据,并且将读取的数据写入非易失性存储器中的目标块的页。
作为一个实施例,第一地址表可以包括以小组块为单位划分的地址映射,每个小组块包括M个扇区地址,以及第二地址表可以包括以大组块为单位划分的地址映射,每个大组块包括N个扇区地址,N大于M。
作为一个实施例,第一地址表中的每个地址映射可以包括被映射成M个扇区地址的物理地址。
作为一个实施例,第二地址表中的每个地址映射可以包括被映射成N个扇区地址的物理地址。
本发明的另一个实施例提供了一种半导体器件,其包括非易失性存储器和适于控制非易失性存储器的控制器,其中,所述控制器包括:第一存储区,其适于储存第一地址表;第二存储区,其适于储存第二地址表;地址转换块,其适于访问第一存储区和第二存储器,以及参照第一地址表和第二地址表将从主机接收的扇区地址转换成与非易失性存储器相对应的物理地址;以及一个或更多个功能块,其适于与地址转换块共享第二存储区,其中,地址转换块独占使用第一存储区。
作为一个实施例,非易失性存储器可以包括适于储存地址信息的存储器单元阵列,并且地址转换块可以选择性地加载地址信息,以及产生第一地址表和第二地址表。
作为一个实施例,地址转换块可以以小组块为单位将来自地址信息的地址映射加载至第一存储区,以及产生第一地址表,小组块包括M个扇区地址,以及地址转换块可以以大组块为单位将来自地址信息的地址映射加载至第二存储区,以及产生第二地址表,大组块包括N个扇区地址,N大于M。
本发明的另外实施例提供了一种半导体器件,其包括包含有存储器单元阵列的非易失性存储器和适于控制非易失性存储器的控制器,其中,所述控制器包括:第一存储区,其适于储存包括小组块的第一地址映射的第一地址表;第二存储区,其适于储存包括大组块的第二地址映射的第二地址表;地址转换块,其适于选择性地将存储器单元阵列中的地址信息加载为第一地址表和第二地址表,以及参照第一地址表和第二地址表将从主机接收的扇区地址转换成与存储器单元阵列相对应的物理地址;以及一个或更多个功能块,其适于与地址转换块共享第二存储区,但是不与地址转换块共享第一存储区。
附图说明
通过参照附图详细地描述本发明的示例性实施例,本发明的以上和其他的特征和优点对于本领域技术人员而言将变得更加显而易见,其中:
图1是图示根据本发明的一个示例性实施例的半导体器件的框图;
图2是图示包括在图1中所示的非易失性存储器中的存储器单元阵列的图;
图3是图示从主机提供的扇区地址的概念图;
图4是图示图1中的半导体器件的一个实施例的框图;
图5是图示图1中的半导体器件的另一个实施例的框图;
图6是根据本发明的一个实施例的用于描述利用图1中所示的第一存储区和第二存储区的方法的概念图;
图7是用于描述图1中所示的地址转换块的操作方法的流程图;
图8是图示根据图7的实施例配置的第一地址表和第二地址表的概念图;
图9是用于描述小组块和大组块的概念图;
图10是图示图8的第一地址表和第二地址表的实例的概念图;
图11是用于描述图1中所示的地址转换块的操作方法的一个应用实例的流程图;
图12是用于描述图1中所示的地址转换块的操作方法的另一个应用实例的流程图;
图13是图示垃圾回收中的牺牲块的图;
图14是图示图1中的控制器的修改实施例的框图;以及
图15是图示图1中的半导体器件的一个应用实例的框图。
具体实施方式
在下文中,将参照附图描述本发明的示例性实施例。在以下描述中,将仅描述用来理解根据本发明的操作所需的部分,并且将省略会不必要地模糊本发明要旨的、与本发明相关的已知技术。此外,本发明不应当被解释为限制于本文中所阐述的示例性实施例,并且可以采用不同的形式来体现。下面足够详细地描述本发明的示例性实施例,以使得本领域的普通技术人员能够体现和实践本发明。
在本说明书中,只要未在句子中具体提及,单数形式就可以包括复数形式。此外,在说明书中使用的“包括/包含”或“包括有/包含有”表示存在或增加一个或多个部件、步骤、操作以及元素。
图1是图示根据本发明的一个示例性实施例的半导体器件1000的框图。图2是图示包括在非易失性存储器100中的存储器单元阵列110的图。
参见图1,半导体器件1000可以包括非易失性存储器100和控制器200。
非易失性存储器100可以响应于控制器200的控制来操作。非易失性存储器100可以通过一个通道CH与控制器200连接。
非易失性存储器100可以包括存储器单元阵列110和用于驱动存储器单元阵列110的外围电路120。参见图2,存储器单元阵列110可以包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz中的每个可以包括多个页page1至pageN。
再次参见图1,外围电路120可以与存储器单元阵列110连接。外围电路120可以响应于控制器200的控制来操作。外围电路120可以响应于控制器200的控制,对存储器单元阵列110中的数据进行编程,从存储器单元阵列110读取数据,以及擦除存储器单元阵列110中的数据。
作为一个实施例,可以采用每个页(page,见图2)作为基本单位来执行非易失性存储器100的读取操作和程序操作。可以采用每个存储块(BLK,见图2)作为基本单位来执行非易失性存储器100的擦除操作。
在程序操作中,外围电路120可以从控制器200接收写入数据和物理地址。具体的存储块BLK和页可以由物理地址来指明。外围电路120可以把写入数据编排在由物理地址指示的页中。
在读取操作中,从控制器200传送至外围电路120的物理地址可以指明具体的存储块BLK和页。外围电路120可以从与物理地址相对应的页中读取数据,并且将读取的数据输出至控制器200。
在擦除操作中,从控制器200传送至外围电路120的物理地址可以指定一个存储块BLK。外围电路120可以擦除与物理地址相对应的存储块BLK中的数据。
作为一个实施例,非易失性存储器100可以为快闪存储器。
地址信息可以储存在存储器单元阵列110中。地址信息可以是用于在从主机接收的扇区地址SCT与被提供至非易失性存储器100的物理地址之间的映射的信息。地址信息可以通过地址转换块220产生,并且被储存在存储器单元阵列110中。
作为一个实施例,地址信息可以储存在存储器单元阵列110的存储块BLK1至BLKz之中的至少一个存储块(例如,BLK1)中。在控制器200内部,地址信息可以被加载至随机存取存储器(RAM)210中,并且被地址转换块220利用。
控制器200可以连接在主机和非易失性存储器100之间。控制器200可以提供主机和非易失性存储器100之间的接口。
控制器200可以响应于主机的请求来访问非易失性存储器100。例如,控制器200可以控制非易失性存储器100的读取、写入、擦除和后台操作。控制器200可以提供非易失性存储器100与主机之间的接口。控制器200可以驱动用于控制非易失性存储器100的固件。
控制器200可以包括:RAM 210、地址转换块220、第一功能块231至第n功能块23n、主机接口单元240以及存储器接口单元250。
RAM 210可以与总线260连接。地址转换块220和第一功能块231至第n功能块23n可以利用RAM 210的储存空间用于各种目的。例如,RAM 210可以用作地址转换块220和第一功能块231至第n功能块23n的操作存储器。例如,RAM 210可以用作主机和非易失性存储器100之间的缓冲存储器。
作为一个实施例,RAM 210可以配置为SRAM、DRAM、SDRAM等。
根据本发明的一个实例,RAM 210可以包括第一存储区211和第二存储区212。第一存储区211可以由地址转换块220独占使用。第二存储区212可以由地址转换块220和第一功能块231至第n功能块23n共享。
地址转换块220可以配置成将从主机接收的扇区地址SCT转换成被提供至非易失性存储器100的物理地址。地址转换块220可以通过总线260与RAM 210连接。
地址转换块220可以使用第一存储区211和第二存储区212。地址转换块220可以从非易失性存储器100读取地址信息,并且将第一地址表储存在第一存储区211中。地址转换块220可以从非易失性存储器100读取地址信息,并且将第二地址表储存在第二存储区212中。此后,地址转换块220可以参照第一地址表和第二地址表将扇区地址SCT转换成物理地址。
作为一个实施例,地址转换块220可以作为快闪转换层(FTL)来操作。
第一功能块231至第n功能块23n可以与总线260连接。第一功能块231至第n功能块23n中的每个可以执行具体的功能。第一功能块231至第n功能块23n中的每个可以使用用于执行对应功能的第二存储区212。第一功能块231至第n功能块23n中的每个可以通过总线260访问RAM 210的第二存储区212。例如,第一功能块231至第n功能块23n中的每个可以包括直接存储器存取(DMA)功能,并且利用DMA功能来写入数据至第二存储区212/从第二存储区212读取数据。
例如,第一功能块231至第n功能块23n中的任何一个可以作为用于控制主机接口单元240的协议控制块来操作。协议控制块可以控制主机接口单元240以处理从主机接收的响应,以及将从主机接收的响应转换成与主机相对应的协议,以及输出经转换的协议。
例如,第一功能块231至第n功能块23n中的任何一个可以作为DMA块来操作。DMA块可以将数据写入第二存储区212,以及从第二存储区212读取数据。例如,当从主机接收写入请求时,DMA块可以在写入请求期间将写入数据暂时地储存在第二存储区212中。在写入请求期间,扇区地址SCT可以被提供至地址转换块220。在第二存储区212中暂时储存的写入数据可以通过存储器接口单元250输出至非易失性存储器100。例如,DMA块可以基于来自主机的读取请求将从非易失性存储器100读取的读取数据暂时储存在第二存储区212中。此后,暂时储存的读取数据可以通过主机接口单元240输出至主机。
例如,第一功能块231至第n功能块23n之中的任何一个可以是用于执行垃圾回收操作的功能块。用于执行垃圾回收操作的功能块可以读取存储器单元阵列110的存储块BLK1至BLKz(见图2)之中的牺牲块中的数据,以及将读取的数据暂时储存在第二存储区212中。此后,用于执行垃圾回收操作的功能块可以将暂时储存的数据写入存储块BLK1至BLKz之中的目标块。用于执行垃圾回收操作的功能块可以擦除牺牲块中的数据。
例如,在第一功能块231至第n功能块23n之中的任何一个可以作为错误校正块来操作。错误校正块可以利用错误校正码(ECC)来检测从非易失性存储器100读取的数据的错误,并且校正检测出的错误。第二存储区212可以用作校正错误所需的储存空间。
例如,第一功能块231至第n功能块23n之中的任何一个可以执行用于控制地址转换块220和第一功能块231至第n功能块23n的各种操作的操作。
另外,将理解的是,第一功能块231至第n功能块23n可以利用第二存储区212来执行各种操作。
主机接口240可以与主机连接。主机接口单元240可以包括用于执行主机和控制器200之间的数据交换的协议。作为一个实施例,控制器200可以通过诸如下面各项的各种接口协议之中的至少一种来与主机通信:通用串行总线(USB)协议、多媒体卡(MMC)协议、外围部件互连(PCI)协议、外围部件互连-快速(PCI-E)协议、高级技术附件(ATA)协议、串行ATA(SATA)协议、并行ATA(PATA)协议、小型计算机系统接口(SCSI)协议、增强型小型设备接口(ESDI)协议、集成驱动电子设备(IDE)协议、私有协议等。
存储器接口单元250可以与非易失性存储器100相互配合工作。存储器接口单元250可以响应于地址转换块220和第一功能块231至第n功能块23n的控制,将数据输出至非易失性存储器100,以及接收从非易失性存储器100读取的数据。
例如,存储器接口单元250可以是与非型(NAND)接口单元或者或非(NOR)接口单元。
第二存储区212可以由第一功能块231至第n功能块23n访问。此外,如上所述,第二地址表可以通过地址转换块220被储存在第二存储区212中。
如果第一功能块231至第n功能块23n中的任何一个访问储存第二地址表的第二存储区212,则可能破坏第二地址表的全部或部分。另一方面,第一存储区211可以由地址转换块220独占使用。因此,例如,第一地址表可以保持,除非突然发生断电。
假设整个RAM 210由第一功能块231至第n功能块23n和地址转换块220共享,并且地址表储存在共享区中。当第一功能块231至第n功能块23n使用共享区时,地址表的全部或部分可以被擦除。也就是说,包括在地址表中的重要地址信息可以被擦除。此后,当从主机接收与擦除的地址信息相对应的扇区地址SCT时,地址转换块220可以再次将来自非易失性存储器100的擦除的地址信息加载至RAM 210。在这种情况下,控制器200不会快速地处理主机的请求。
假设要加载用于驱动地址转换块220的地址表仅被储存在第一存储区211中。为了储存地址表,可以增加第一存储区211的储存空间。在这种情况下,用于整个RAM 210所需的储存空间可能因此增加,并且可能增加控制器200的制造成本。
根据本发明的一个实施例,RAM 210可以被划分成由地址转换块220独占使用的第一存储区211以及由地址转换块220和第一功能块231至第n功能块23n共享的第二存储区212。地址转换块220可以将两个地址表分别储存在第一存储区211和第二存储区212中。具有相对高的重要性的地址表可以储存在第一存储区211中,而具有相对低的重要性的地址表可以储存在第二存储区212中。因此,控制器200的操作速度可以得以增加,而用于RAM210所需的储存空间的尺寸可以得以减小。
图3是图示从主机提供的扇区地址SCT_1至SCT_p的概念图。
参见图3,可以从主机接收第一扇区地址SCT_1至第p扇区地址SCT_p。
例如,主机可以将关于开始扇区地址(例如,SCT_1)和扇区地址的数目(例如,4)的信息传输至控制器200。因此,从主机传输的扇区地址(例如,SCT_1至SCT_4)可以被指定。根据本方法,主机可以将第一扇区地址SCT_1至第p扇区地址SCT_p传输至控制器200。
作为一个实施例,当存在从主机至控制器200的写入请求时,写入请求可以包括扇区地址SCT和写入数据。当存在从主机至控制器200的读取请求时,读取请求可以包括扇区地址SCT。当存在从主机至控制器200的擦除请求时,擦除请求可以包括扇区地址SCT。
图4是图示图1中的半导体器件1000的一个实施例3000的框图。
参见图4,半导体器件3000可以包括非易失性存储器100和控制器300。
控制器300可以包括:RAM 210、主机接口单元240、存储器接口单元250、处理单元330和子存储器340。
RAM 210、主机接口单元240和存储器接口单元250可以具有与参照图1描述的RAM210、主机接口单元240和存储器接口单元250相同的结构和操作。在下文中,将省略重复的描述。
处理单元330可以与总线260连接。与第一功能块231至第n功能块23n和地址转换块220中的每个相对应的程序代码可以储存在子存储器340中。处理单元330可以执行储存在子存储器340中的程序代码,并且执行图1中的第一功能块231至第n功能块23n和地址转换块220的功能。
作为一个实施例,子存储器340可以位于处理单元330的外部,并且提供用于处理单元330的程序代码。作为另一个实施例,子存储器340可以被提供在处理单元330的内部。
作为一个实施例,子存储器340可以配置为SRAM、DRAM、SDRAM、ROM、PROM、EPROM、EEPROM等。
图5是图示图1中的半导体器件1000的另一个实施例4000的框图。
参见图5,半导体器件4000可以包括非易失性存储器100和控制器400。
控制器400可以包括:RAM 210、主机接口单元240、存储器接口单元250、第一处理单元431和第二处理单元432、以及第一子存储器441和第二子存储器442。
RAM 210、主机接口单元240和存储器接口单元250可以具有与参照图1描述的RAM210、主机接口单元240和存储器接口单元250相同的结构和操作。在下文中,将省略重复的描述。
控制器400可以包括两个或更多个处理单元431和432。处理单元431和432可以分别与第一子存储器441和第二子存储器442连接。第一处理单元431和第二处理单元432可以划分和执行第一功能块231至第n功能块23n和地址转换块220的功能。处理单元431和432中的每个可以执行储存在对应的子存储器中的程序代码,以及执行第一功能块231至第n功能块23n和地址转换块220中的至少一个功能。
当控制器400包括两个或更多个处理单元431和432时,可以增加半导体器件4000的操作速度。
另外,第一功能块231至第n功能块23n和地址转换块220可以采用各种方法来实施。作为一个实施例,第一功能块231至第n功能块23n和地址转换块220中的每个可以通过硬件、程序代码、或者硬件和程序代码的组合来实施。
例如,程序代码可以包括利用解释器等产生的高级语言代码、以及由编译器产生的机器代码。
在下文中,为了简化描述,将基于图1的实施例描述本发明的一个实施例。
图6是用于描述利用根据本发明的一个实施例的第一存储区211和第二存储区212的方法的概念图。
参见图1和图6,地址转换块220可以访问第一存储区211和第二存储区212。地址转换块220可以从非易失性存储器100读取地址信息,并且将读取的地址信息储存在第一存储区211中以作为第一地址表ATBL1(A)。地址转换块220可以将从非易失性存储器100读取的地址信息储存在第二存储区212中以作为第二地址表ATBL2(B)。也就是说,地址转换块220可以使用用于储存地址信息的第一存储区211和第二存储区212。
第一功能块231至第n功能块23n不可以访问第一存储区211(C)。第一功能块231至第n功能块23n可以访问第二存储区212(D)。当第一功能块231至第n功能块23n访问第二存储区212时,地址表ATBL2的全部或部分可以被擦除。
另一方面,由于第一功能块231至第n功能块23n不能访问第一存储区211,所以第一地址表ATBL1可以被保存。
作为一个实施例,第一地址表ATBL1和第二地址表ATBL2中的每个可以通过对连续的扇区地址的地址信息进行分组来管理。因此,可以在第一地址表ATBL1和第二地址表ATBL2中有效地搜索目标地址的地址信息。
根据本发明的一个实施例,在第一地址表ATBL1和ATBL2中被分组的连续扇区地址的数目可以彼此不同。这在下面详细地描述。
图7是用于描述地址转换块220的操作方法的流程图。
参见图1和图7,请求地址信息的加载(操作S100)。
例如,当在第一地址表ATBL1和第二地址表ATBL2(见图6)中不存在与来自主机的扇区地址相对应的地址信息时,地址转换块220可以从非易失性存储器100加载对应的地址信息。
例如,当在加电之后初始化半导体器件1000时,地址转换块220可以从非易失性存储器100加载地址信息。例如,当半导体器件1000从睡眠模式进入激活模式时,地址转换块220可以从非易失性存储器100加载地址信息。例如,地址转换块220可以在每个预定的时段从非易失性存储器100加载地址信息。
另外,将理解的是,可以在各种条件下请求地址信息的加载。
当地址信息被加载在第一存储区211中(操作S110)时,地址转换块220可以以小组块为单位加载地址映射。这里,小组块可以意味着A个扇区地址的组(A可以是大于0的整数)。小组块的地址映射可以是A个扇区地址与对应的物理地址之间的地址信息。
当地址信息被加载在第二存储区212中时(操作S130),地址转换块220可以以大组块为单位来加载地址映射。大组块可以意味着B个扇区地址的组(B可以是大于0的整数)。这里,B可以大于A。大组块的地址映射可以是B(大于A)个扇区地址与对应的物理地址之间的地址信息。
图8是图示根据图7的实施例配置的第一地址表ATBL1和第二地址表ATBL2的概念图。
参见图8,第一地址表ATBL1可以包括小组块的地址映射。每个小组块的地址映射SADM可以包括被映射成A个连续扇区地址的物理地址。
第二地址表ATBL2可以包括大组块的地址映射。每个大组块的地址映射LADM可以包括被映射成B(大于A)个连续扇区地址的物理地址。
地址映射SADM的组块的尺寸(即,小组块的尺寸)可以比地址映射LADM的组块的尺寸(即,大组块的尺寸)小。
图9是用于描述小组块和大组块的概念图。
参见图9,从主机(见图1)接收的扇区地址SCT_1至SCT_p可以以A个连续扇区地址为单位进行划分。因此,扇区地址SCT_1至SCT_p可以划分成第一小组块schn1至第X小组块schnX。
小组块schn1至schnX中的每个可以包括A个连续扇区地址。第一小组块schn1可以包括第一扇区地址SCT_1至第A扇区地址SCT_a。第二小组块schn2可以包括第A+1扇区地址SCT_a+1至第2A扇区地址SCT_2a。第三小组块schn3可以包括第2A+1扇区地址SCT_2a+1至第3A扇区地址SCT_3a。第四小组块schn4可以包括第3A+1扇区地址SCT_3a+1至第4A扇区地址SCT_4a。第X小组块schnX可以包括第P-A+1扇区地址SCT_p-a+1至第P扇区地址SCT_p。
另一方面,扇区地址SCT_1至SCT_p可以以B(大于A)个连续扇区地址为单位来划分。因此,扇区地址SCT_1至SCT_p可以划分成第一大组块lchn1至第Y大组块lchnY。
大组块lchn1至lchnY中的每个可以包括B个连续扇区地址。这里,B可以大于A。第一大组块lchn1可以包括第一扇区地址SCT_1至第B扇区地址SCT_b。第二大组块lchn2可以包括第B+1扇区地址SCT_b+1至第2B扇区地址SCT_2b。第Y大组块lchnY可以包括第P-B+1扇区地址SCT_p-b+1至第P扇区地址SCT_p。
图10是图示图8中的第一地址表ATBL1和第二地址表ATBL2的实例的概念图。在图10中,为了简化描述,可以把包括在第一地址表和第二地址表中的每个中的地址映射表示为对应的组块号。
参见图10,第一地址表ATBL1可以包括第二小组块schn2、第五小组块schn5、第一小组块schn1、第十小组块schn10、第十六小组块schn16、第六小组块schn6、第九小组块schn9和第十五小组块schn15的地址映射。
每个小组块的地址映射SADM可以包括与A个扇区地址相对应的物理地址。例如,如图10中所示,第一小组块schn1中的地址映射可以包括与第一扇区地址SCT_1至第A扇区地址SCT_a相对应的物理地址PA_1至PA_a。作为一个实施例,每个小组块中的地址映射可以通过基于扇区地址号来映射物理地址的位映射方法来实施。
作为一个实施例,第一地址表ATBL1可以通过最近最少使用(LRU)方法来管理。根据LRU方法,在第一地址表ATBL1中可以更新新小组块的地址映射。根据LRU方法,可以从第一地址表ATBL1中逐出小组块schn2、schn5、schn1、schn10、schn16、schn6、schn9和schn15的地址映射。
第二地址表ATBL2可以包括第四大组块lchn4、第二大组块lchn2、第六大组块lchn6和第九大组块lchn9的地址映射。
每个大组块的地址映射LADM可以包括与B个扇区地址相对应的物理地址。例如,如图10中所示,第二大组块lchn2的地址映射可以包括与第B+1扇区地址SCT_b+1至第2B扇区地址SCT_2b相对应的物理地址PA_b+1至PA_2b。作为一个实施例,每个大组块中的地址映射可以通过基于扇区地址号来映射物理地址的位映射方法来实施。
作为一个实施例,第二地址表ATBL2可以通过最近最少使用(LRU)方法来管理。
再次参见图1和图8,当从主机接收到扇区地址SCT时,地址转换块220可以确定在第一地址表ATBL1和第二地址表ATBL2中是否存在与扇区地址SCT相对应的地址信息。
针对地址信息,地址转换块220可以搜索第一地址表ATBL1,然后搜索第二地址表ATBL2。为了搜索第一地址表ATBL1,地址转换块220可以确定包括有扇区地址SCT的小组块。例如,当接收到六十四个扇区地址时,地址转换块220可以通过用64除以小组块包括的扇区地址的数目来确定出包括六十四个扇区地址的小组块。此外,地址转换块220可以在第一地址表ATBL1中搜索确定出的小组块。当在第一地址表ATBL1中存在确定出的小组块时,地址转换块220可以参照搜索出的小组块的地址映射来确定与扇区地址SCT相对应的物理地址。例如,地址转换块220可以在搜索出的小组块的地址映射中搜索六十四个扇区地址,并且确定出与搜索出的六十四个扇区地址相对应的物理地址。
当在第一地址表ATBL1中不存在包括扇区地址SCT的小组块的地址信息时,地址转换块220可以确定包括扇区地址SCT的大组块。地址转换块220可以在第二地址表ATBL2中确定出与扇区地址SCT相对应的大组块。例如,当接收到六十四个扇区地址时,地址转换块220可以通过用64除以大组块包括的扇区地址的数目来确定出包括六十四个扇区地址的大组块。
此后,地址转换块220可以在第二地址表ATBL2中搜索确定出的大组块。
假设在第一地址表ATBL1和第二地址表ATBL2中不存在包括扇区地址SCT的地址信息。地址转换块220可以将扇区地址SCT的地址信息加载至第一存储区211或第二存储区212。
扇区地址SCT的地址信息可以被加载至第一存储区211。地址转换块220可以确定出包括扇区地址SCT的小组块,从非易失性存储器100读取确定出的小组块的地址映射SADM,以及更新第一地址表ATBL1中的小组块的读取地址映射SADM。另外,地址转换块220可以参照小组块的更新的地址映射SADM将扇区地址SCT转换成物理地址。
扇区地址SCT的地址信息可以被加载至第二存储区212。地址转换块220可以确定出包括扇区地址SCT的大组块,以及更新第二地址表ATBL2中确定出的大组块的地址映射LADM。此外,地址转换块220可以参照大组块的更新的地址映射LADM将扇区地址SCT转换成物理地址。
由于地址表以组块为单位来管理,所以可以在地址表中有效地搜索目标扇区地址的地址信息。当确定出包括目标扇区地址的组块时,地址转换块220可以在地址表中搜索确定出的块,并且通过在搜索出的块中搜索扇区地址来获取地址信息。
然而,随着组块的尺寸增加,在地址表中关于不从主机接收的扇区地址的地址信息的比例可以得以增加。另一方面,随着组块的尺寸减小,关于从主机接收的扇区地址的地址信息的比例可以得以增加。由于组块的尺寸减小了,所以可以增加地址信息的集成度。
根据本发明的一个实施例,地址映射SADM以小组块为单位储存在地址转换块220独占使用的第一存储区211中,由此增加了与在第一存储区211中的地址映射SADM相对应的地址信息的集成度。增加集成度可以意味着增加了存在从主机接收到的扇区地址SCT的可能性。控制器200的操作性能可以通过在地址转换块220独占使用的第一存储区211中保持具有高集成度的地址信息来改善。
由于减小了组块的尺寸,所以可以增加地址表中组块的数目。因此,可以增加用于管理对应的地址表的成本。例如,可以增加用于在地址表中搜索包括从主机接收到的扇区地址SCT的组块的时间、关于每个组块储存在RAM 210中的位置的信息、以及用于通过LRU方法管理每个组块的信息。
根据本发明的一个实施例,地址映射LADM可以以大组块为单位储存在由地址转换块220和功能块231至23n共享的第二存储区212中。因此,具有高的擦除可能性的第二存储区212可以降低用于管理其地址信息的成本。
图11是用于描述地址转换块220的操作方法的一个应用实例的流程图。
参见图1和图11,在操作S210中,可以从主机接收扇区地址SCT。在操作S220中,地址转换块220可以确定在第一存储区211中是否存在扇区地址SCT。地址转换块220可以确定在第一地址表ATBL1的小组块之中是否存在包括扇区地址SCT的小组块。如果存在,则可以执行操作S260。如果不存在,则可以执行操作S230。
在操作S230中,地址转换块220可以确定在第二存储区212中是否存在扇区地址SCT。地址转换块220可以确定在第二地址表ATBL2的大组块之中是否存在包括扇区地址SCT的大组块。如果存在,则可以执行操作S280。如果不存在,则可以执行操作S240。
此后,地址转换块220可以确定扇区地址SCT的类型。如图11中的操作S240,地址转换块220可以确定扇区地址SCT是否与热数据相对应。热数据可以意味着频繁从主机接收的扇区地址。冷数据可以意味着不包括热数据的扇区地址。
将理解的是,确定扇区地址SCT的类型通过各种方法来执行。例如,提供了具有具体尺寸的队列,并且每当从主机接收到扇区地址SCT时,就把扇区地址SCT输入给该队列。可以确定储存在队列中的扇区地址为热数据。可以确定未储存在队列中的扇区地址为冷数据。另外,扇区地址SCT的类型可以通过各种方法来确定。当扇区地址SCT为热数据时,执行操作S250。当扇区地址SCT为冷数据时,可以执行操作S270。
在操作S250中,地址转换块220可以将包括扇区地址SCT的小组块的地址映射从非易失性存储器100加载至第一存储区211。地址转换块220可以确定出包括有扇区地址SCT的小组块,从非易失性存储器100读取确定出的小组块的地址映射,以及将读取的地址映射储存在第一存储区211中。
在操作S260中,地址转换块220可以参照第一地址表ATBL1来提供与扇区地址SCT相对应的物理地址。
在操作S270中,地址转换块220可以将包括有扇区地址SCT的大组块的地址映射从非易失性存储器100加载至第二存储区212。
在操作S280中,地址转换块220可以参照第二地址表ATBL2来提供与扇区地址SCT相对应的物理地址。
根据本发明的一个实施例,与热数据相对应的地址信息可以储存在由地址转换块220独占使用的第一存储区211中。与冷数据相对应的地址信息可以储存在由地址转换块220和功能块231至23n共享的第二存储区212中。因此,可以保存与热数据相对应的地址信息,并且可以有效地利用RAM 210的储存空间。
图12是用于描述地址转换块220的操作方法的另一个应用实例的流程图。图13是图示在垃圾回收时的牺牲块BLK1和BLK2的图。
根据本发明的一个实施例,在垃圾回收中所需的地址信息可以被加载至第二存储区212。
参照图13来描述图12,在操作S310中,地址转换块220可以读取与牺牲块BLK1和BLK2相对应的扇区地址。
作为一个实施例,存储器单元阵列110中的每个存储块(见图1)可以包括至少一个元页,并且与包括在对应的存储块中的页相对应的扇区地址可以被储存在元页中。在这种情况下,地址转换块220可以分别读取包括在牺牲块BLK1和BLK2中的页Mpage1和Mpage2。
作为另一个实施例,与每个存储块中的页相对应的扇区地址可以被储存在存储器单元阵列110的预定存储块中。在这种情况下,地址转换块220可以读取预定的存储块。
在操作S320中,地址转换块220可以将与读取的扇区地址相对应的大组块的地址映射加载至第二存储区212。地址转换块220可以确定出与每个扇区地址相对应的大组块,以及将确定出的大组块的地址映射加载至第二存储区212。
在操作S330中,地址转换块220可以参照加载的地址映射确定有效数据是否储存在牺牲块BLK1和BLK2的页中。例如,地址转换块220可以参照地址映射确定被映射至每个扇区地址的物理地址,并且确定所确定出的物理地址是否指示牺牲块的页。如果是这样的,则对应的页可能是储存有效数据的页(有效页)。如果不是,则对应的页可能是储存无效数据的页(无效页)。
当在预定的时间期间未确定出的无效页时,对应的存储块中的有效页不被频繁访问的可能性可能高。根据本发明的一个实施例,与牺牲块有关的地址信息可以被加载至第二存储区212。因此,可以在保持第一存储区212的地址信息完整性的状态下执行垃圾回收。
图14是图示图1中的控制器200的修改实施例400的框图。
参见图14,控制器400可以包括:地址转换块220、第一功能块231至第n功能块23n、主机接口单元240、存储器接口单元250、以及第一存储区411和第二存储区412。
参照图1类似地描述地址转换块220、第一功能块231至第n功能块23n、主机接口单元240以及存储器接口单元250。在下文中,将省略重复的描述。
第一存储区411和第二存储区412可以包括在不同的RAM中。也就是说,如同第一存储区411和第二存储区412,根据本发明的一个实施例的存储区可以包括在不同的RAM中,也如同图1中的第一存储区211和第二存储区212可以包括在相同的RAM中。
图15是图示图1中的半导体器件1000的一个应用实例5000的框图。
参见图15,半导体器件5000可以包括非易失性存储器5100和控制器200。
非易失性存储器5100可以包括多个非易失性存储器芯片。多个非易失性存储器芯片中的每个可以具有与参照图1描述的非易失性存储器100相同的结构和操作。
多个非易失性存储器芯片可以被划分成多个组。多个组可以分别通过第一通道CH1至第k通道CHk与控制器200通信。
多个组中的每个可以通过一个公共通道与控制器200通信。控制器200可以具有与参照图1描述的控制器200相同的结构,以及可以通过多个通道CH1至CHk控制非易失性存储器5100的多个非易失性存储器芯片。
在图15中,多个非易失性存储器芯片连接至一个通道。然而,将理解的是,可以修改半导体器件5000使得一个非易失性存储器芯片与一个通道连接。
控制器200和非易失性存储器5100可以集成到单个半导体器件中。作为一个示例性实施例,控制器200和非易失性存储器5100可以将存储卡配置为单个半导体器件。例如,控制器200和非易失性存储器5100可以配置存储卡,诸如个人计算机存储卡国际协会(PCMCIA)卡、紧凑型快闪(CF)卡、智能媒体(SM)卡(SMC)、记忆棒、MMC、降低尺寸的MMC(RS-MMC)、微型尺寸的MMC(MMCmicro)、安全数字(SD)卡、迷你SD(miniSD)卡、微型SD(microSD)卡、SD高容量(SDHC)卡、通用快闪储存(UFS)器件等。
控制器200和非易失性存储器5100可以通过集成在单个半导体存储器件中来配置固态驱动器(SDD)。SSD可以包括配置成将数据储存在半导体存储器件中的储存器件。当存储系统5000用作SSD时,与存储系统5000连接的主机的操作速度可以显著提高。
作为另一个示例性实施例,可以把存储系统5000提供为诸如下面各项的电子器件的各种部件之一:计算机、超移动个人计算机(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络本、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏控制台、导航设备、黑盒子、数码照相机、三维电视机、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、用于无线传送和接收信息的设备;配置家用网络、计算机网络或远程信息处理网络的各种电子设备;射频识别(FRID)设备;或者配置计算系统的各种部件。
作为一个示例性实施例,可以把非易失性存储器5100或者存储系统5000封装为各种类型的封装体。例如,非易失性存储器5100或存储系统5000可以采用诸如下面各项的方式进行封装和安装:封装上封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、华夫包式管芯、晶片形式管芯、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外型集成电路(SOIC)、紧缩小外型封装(SSOP)、薄型小外型封装(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶片级制造封装(WFP)、晶片级处理层叠封装(WSP)等。
根据本发明的一个实施例,控制器中的RAM的尺寸可以减小,而控制器的操作速速可以提高。
在附图和说明书中,已经公开了本发明的典型的示例性实施例,尽管利用了具体的术语,但是它们仅用于一般性和描述性的意义,并非出于限制的目的。对于本发明的范围,将在所附权利要求中阐述。因此,本领域技术人员将理解,在不脱离所附权利要求所限定的本发明的精神和范围的情况下可以在形式和细节上进行各种变化。
通过本发明的实施例可以看出,本发明提供了下面技术方案:
技术方案1.一种控制非易失性存储器的控制器,包括:
第一存储区,其适于储存第一地址表;
第二存储区,其适于储存第二地址表;
地址转换块,其适于访问所述第一存储区和所述第二存储区,以及参照所述第一地址表和所述第二地址表将从主机接收的扇区地址转换成与所述非易失性存储器相对应的物理地址;以及
一个或更多个功能块,其适于与所述地址转换块共享所述第二存储区,
其中,所述地址转换块独占使用所述第一储存区。
技术方案2.如技术方案1所述的控制器,其中,所述地址转换块以小组块为单位将地址映射从所述非易失性存储器加载至所述第一存储区,以产生所述第一地址表,所述小组块包括M个扇区地址,以及
所述地址转换块以大组块为单位将地址映射从所述非易失性存储器加载至所述第二存储区,以产生所述第二地址表,所述大组块包括N个扇区地址,N大于M。
技术方案3.如技术方案2所述的控制器,其中,所述地址转换块确定出包括从所述主机接收的所述扇区地址的小组块,以及在所述第一地址表中搜索确定出的小组块。
技术方案4.如技术方案3所述的控制器,其中,当在所述第一地址表中搜索出所确定出的小组块时,所述地址转换块参照搜索出的小组块的地址映射将从所述主机接收的所述扇区地址转换成所述物理地址,以及
当在所述第一地址表中未搜索出所确定出的小组块时,所述地址转换块确定出包括从所述主机接收的所述扇区地址的大组块,以及在所述第二地址表中搜索确定出的大组块。
技术方案5.如技术方案4所述的控制器,其中,所述地址转换块参照搜索出的大组块的地址映射将从所述主机接收的所述扇区地址转换成所述物理地址。
技术方案6.如技术方案2所述的控制器,其中,当从所述主机接收的所述扇区地址对应于热数据时,所述地址转换块确定出包括从所述主机接收的所述扇区地址的小组块,从所述非易失性存储器读取确定出的小组块的地址映射,以及在所述第一地址表中更新读取的地址映射。
技术方案7.如技术方案6所述的控制器,其中,所述地址转换块参照所述小组块的更新的地址映射确定所述物理地址。
技术方案8.如技术方案2所述的控制器,其中,当从所述主机接收的所述扇区地址对应于冷数据时,所述地址转换块确定出包括从所述主机接收的所述扇区地址的大组块,从所述非易失性存储器读取确定出的大组块的地址映射,以及在所述第二地址表中更新读取的地址映射。
技术方案9.如技术方案8所述的控制器,其中,所述地址转换块参照所述大组块的更新的地址映射确定所述物理地址。
技术方案10.如技术方案2所述的控制器,其中,在垃圾回收中,所述地址转换块读取与所述非易失性存储器中的牺牲块相对应的扇区地址,确定出包括读取的扇区地址的大组块,以及将确定出的大组块的地址映射加载至所述第二存储区。
技术方案11.如技术方案10所述的控制器,其中,所述地址转换块参照加载的地址映射确定所述牺牲块的每个页是否有效。
技术方案12.如技术方案11所述的控制器,还包括:
垃圾回收块,其适于读取所述牺牲块的有效页中的数据,以及将读取的数据写入至所述非易失性存储器中的目标块的页。
技术方案13.如技术方案1所述的控制器,其中,所述第一地址表包括以小组块为单位划分的地址映射,每个小组块包括M个扇区地址,以及
所述第二地址表包括以大组块为单位划分的地址映射,每个大组块包括N个扇区地址,N大于M。
技术方案14.如技术方案13所述的控制器,其中,所述第一地址表中的每个地址映射包括被映射成M个扇区地址的物理地址。
技术方案15.如技术方案13所述的控制器,其中,所述第二地址表中的每个地址映射包括被映射成N个扇区地址的物理地址。
技术方案16.一种半导体器件,包括:
非易失性存储器;以及
控制器,其适于控制所述非易失性存储器,
其中,所述控制器包括:
第一存储区,其适于储存第一地址表;
第二存储区,其适于储存第二地址表;
地址转换块,其适于访问所述第一存储区和所述第二存储区,以及参照所述第一地址表和所述第二地址表将从主机接收的扇区地址转换成与所述非易失性存储器相对应的物理地址;以及
一个或更多个功能块,其适于与所述地址转换块共享所述第二存储区,
其中,所述地址转换块独占使用所述第一存储区。
技术方案17.如技术方案16所述的半导体器件,其中,所述非易失性存储器包括适于储存地址信息的存储器单元阵列,以及所述地址转换块选择性地加载所述地址信息,以及产生所述第一地址表和所述第二地址表。
技术方案18.如技术方案17所述的半导体器件,其中,所述地址转换块以小组块为单位将来自所述地址信息的地址映射加载至所述第一存储区,以及产生所述第一地址表,所述小组块包括M个扇区地址,以及
所述地址转换块以大组块为单位将来自所述地址信息的地址映射加载至所述第二存储区,以及产生所述第二地址表,所述大组块包括N个扇区地址,N大于M。
技术方案19.一种半导体器件,包括:
非易失性存储器,其包括存储器单元阵列;以及
控制器,其适于控制所述非易失性存储器,
其中,所述控制器包括:
第一存储区,其适于储存包括小组块的第一地址映射的第一地址表;
第二存储区,其适于储存包括大组块的第二地址映射的第二地址表;
地址转换块,其适于选择性地将所述存储器单元阵列中的地址信息作为所述第一地址表和所述第二地址表进行加载,以及参照所述第一地址表和所述第二地址表将从主机接收的扇区地址转换成与所述存储器单元阵列相对应的物理地址;以及
一个或更多个功能块,其适于与所述地址转换块共享所述第二存储区,但是不与所述地址转换块共享所述第一存储区。

Claims (17)

1.一种控制非易失性存储器的控制器,包括:
第一存储区,其适于储存第一地址表;
第二存储区,其适于储存第二地址表;
地址转换块,其适于:访问所述第一存储区和所述第二存储区,以及参照所述第一地址表和所述第二地址表来将从主机接收的扇区地址转换成与所述非易失性存储器相对应的物理地址;以及
一个或更多个功能块,其适于与所述地址转换块共享所述第二存储区,
其中,所述第一存储区由所述地址转换块独占使用,
其中,所述地址转换块以小组块为单位将地址映射从所述非易失性存储器加载至所述第一存储区以产生所述第一地址表,所述小组块包括M个扇区地址,以及
其中,所述地址转换块以大组块为单位将地址映射从所述非易失性存储器加载至所述第二存储区以产生所述第二地址表,所述大组块包括N个扇区地址,N大于M。
2.如权利要求1所述的控制器,其中,所述地址转换块确定包括从所述主机接收的所述扇区地址的小组块,以及在所述第一地址表中搜索确定出的小组块。
3.如权利要求2所述的控制器,其中,当在所述第一地址表中搜索到所述确定出的小组块时,所述地址转换块参照搜索到的小组块的地址映射来将从所述主机接收的所述扇区地址转换成所述物理地址,以及
当在所述第一地址表中未搜索到所述确定出的小组块时,所述地址转换块确定包括从所述主机接收的所述扇区地址的大组块,以及在所述第二地址表中搜索确定出的大组块。
4.如权利要求3所述的控制器,其中,所述地址转换块参照搜索到的大组块的地址映射来将从所述主机接收的所述扇区地址转换成所述物理地址。
5.如权利要求1所述的控制器,其中,当从所述主机接收的所述扇区地址对应于热数据时,所述地址转换块确定包括从所述主机接收的所述扇区地址的小组块,从所述非易失性存储器读取确定出的小组块的地址映射,以及将读取的地址映射更新在所述第一地址表中。
6.如权利要求5所述的控制器,其中,所述地址转换块参照所述小组块的更新的地址映射来确定所述物理地址。
7.如权利要求1所述的控制器,其中,当从所述主机接收的所述扇区地址对应于冷数据时,所述地址转换块确定包括从所述主机接收的所述扇区地址的大组块,从所述非易失性存储器读取确定出的大组块的地址映射,以及将读取的地址映射更新在所述第二地址表中。
8.如权利要求7所述的控制器,其中,所述地址转换块参照所述大组块的更新的地址映射来确定所述物理地址。
9.如权利要求1所述的控制器,其中,在垃圾回收中,所述地址转换块读取与所述非易失性存储器中的牺牲块相对应的扇区地址,确定包括读取的扇区地址的大组块,以及将确定出的大组块的地址映射加载至所述第二存储区。
10.如权利要求9所述的控制器,其中,所述地址转换块参照加载的地址映射来确定所述牺牲块的每个页是否有效。
11.如权利要求10所述的控制器,还包括:
垃圾回收块,其适于读取所述牺牲块中的有效页的数据,以及将读取的数据写入至所述非易失性存储器中的目标块的页。
12.如权利要求1所述的控制器,其中,所述第一地址表包括以小组块为单位划分的地址映射,每个小组块包括M个扇区地址,以及
所述第二地址表包括以大组块为单位划分的地址映射,每个大组块包括N个扇区地址,N大于M。
13.如权利要求12所述的控制器,其中,所述第一地址表的每个地址映射包括被映射到M个扇区地址的物理地址。
14.如权利要求12所述的控制器,其中,所述第二地址表的每个地址映射包括被映射到N个扇区地址的物理地址。
15.一种半导体器件,包括:
非易失性存储器;以及
控制器,其适于控制所述非易失性存储器,
其中,所述控制器包括:
第一存储区,其适于储存第一地址表;
第二存储区,其适于储存第二地址表;
地址转换块,其适于访问所述第一存储区和所述第二存储区,以及参照所述第一地址表和所述第二地址表来将从主机接收的扇区地址转换成与所述非易失性存储器相对应的物理地址;以及
一个或更多个功能块,其适于与所述地址转换块共享所述第二存储区,
其中,所述第一存储区由所述地址转换块独占使用,
其中,所述地址转换块以小组块为单位将地址映射从所述非易失性存储器加载至所述第一存储区以产生所述第一地址表,所述小组块包括M个扇区地址,以及
其中,所述地址转换块以大组块为单位将地址映射从所述非易失性存储器加载至所述第二存储区以产生所述第二地址表,所述大组块包括N个扇区地址,N大于M。
16.如权利要求15所述的半导体器件,其中,所述非易失性存储器包括适于储存地址信息的存储器单元阵列,并且所述地址转换块选择性地加载所述地址信息并产生所述第一地址表和所述第二地址表。
17.一种半导体器件,包括:
非易失性存储器,其包括存储器单元阵列;以及
控制器,其适于控制所述非易失性存储器,
其中,所述控制器包括:
第一存储区,其适于储存包括小组块的第一地址映射的第一地址表;
第二存储区,其适于储存包括大组块的第二地址映射的第二地址表;
地址转换块,其适于:选择性地加载所述存储器单元阵列中的地址信息以作为所述第一地址表和所述第二地址表,以及参照所述第一地址表和所述第二地址表来将从主机接收的扇区地址转换成与所述存储器单元阵列相对应的物理地址;以及
一个或更多个功能块,其适于:与所述地址转换块共享所述第二存储区,但不与所述地址转换块共享所述第一存储区,
其中,所述第一存储区由所述地址转换块独占使用,
其中,所述地址转换块以小组块为单位将来自所述地址信息的地址映射加载至所述第一存储区并产生所述第一地址表,所述小组块包括M个扇区地址,以及
其中,所述地址转换块以大组块为单位将来自所述地址信息的地址映射加载至所述第二存储区并产生所述第二地址表,所述大组块包括N个扇区地址,N大于M。
CN201410705032.1A 2014-06-03 2014-11-26 用于控制非易失性存储器的控制器和包括其的半导体器件 Active CN105279102B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0067860 2014-06-03
KR1020140067860A KR20150139718A (ko) 2014-06-03 2014-06-03 불휘발성 메모리를 제어하는 컨트롤러 및 그것을 포함하는 반도체 장치

Publications (2)

Publication Number Publication Date
CN105279102A CN105279102A (zh) 2016-01-27
CN105279102B true CN105279102B (zh) 2019-05-28

Family

ID=54701908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410705032.1A Active CN105279102B (zh) 2014-06-03 2014-11-26 用于控制非易失性存储器的控制器和包括其的半导体器件

Country Status (3)

Country Link
US (1) US9465747B2 (zh)
KR (1) KR20150139718A (zh)
CN (1) CN105279102B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3553665B1 (en) * 2016-12-28 2024-05-15 Huawei Technologies Co., Ltd. Non-volatile memory access method, device, and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1716215A (zh) * 2004-06-30 2006-01-04 深圳市朗科科技有限公司 减少存储介质中的数据冗余的方法
CN101208669A (zh) * 2005-06-30 2008-06-25 英特尔公司 写入非易失性存储器的技术

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003085524A2 (en) 2002-04-04 2003-10-16 Infineon Technologies Ag Improved architecture with shared memory
US20090193184A1 (en) * 2003-12-02 2009-07-30 Super Talent Electronics Inc. Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System
KR100806343B1 (ko) * 2006-10-19 2008-02-27 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 맵핑테이블 관리 방법
US7930515B2 (en) * 2008-07-29 2011-04-19 International Business Machines Corporation Virtual memory management
US8364931B2 (en) * 2009-06-29 2013-01-29 Mediatek Inc. Memory system and mapping methods using a random write page mapping table
US8516219B2 (en) 2009-07-24 2013-08-20 Apple Inc. Index cache tree
KR101811297B1 (ko) 2011-03-15 2017-12-27 삼성전자주식회사 불휘발성 메모리를 제어하는 메모리 컨트롤러
KR20120128978A (ko) * 2011-05-18 2012-11-28 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 관리 방법
US9256545B2 (en) * 2012-05-15 2016-02-09 Mellanox Technologies Ltd. Shared memory access using independent memory maps
US9575884B2 (en) * 2013-05-13 2017-02-21 Qualcomm Incorporated System and method for high performance and low cost flash translation layer
US9383927B2 (en) * 2014-05-28 2016-07-05 SandDisk Technologies LLC Method and system for creating a mapping table cache from an interleaved subset of contiguous mapping data for a storage device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1716215A (zh) * 2004-06-30 2006-01-04 深圳市朗科科技有限公司 减少存储介质中的数据冗余的方法
CN101208669A (zh) * 2005-06-30 2008-06-25 英特尔公司 写入非易失性存储器的技术

Also Published As

Publication number Publication date
CN105279102A (zh) 2016-01-27
US20150347312A1 (en) 2015-12-03
US9465747B2 (en) 2016-10-11
KR20150139718A (ko) 2015-12-14

Similar Documents

Publication Publication Date Title
CN110781096B (zh) 用于通过预测需求时间来执行垃圾收集的设备和方法
US9696911B2 (en) Operation method of nonvolatile memory system and operation method of user system including the same
US8880777B2 (en) Complex memory device and I/O processing method using the same
CN108345545B (zh) 在逻辑地址与物理地址之间执行散列式转译的存储装置
US9697116B2 (en) Storage system and writing method thereof
US9852061B2 (en) Memory device and operating method of memory device
EP3436953B1 (en) Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device
CN106201901B (zh) 包括映射表的控制器、包括半导体存储器件的存储系统及其操作方法
KR102679985B1 (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US20150347314A1 (en) Nonvolatile memory system and a method of operating the nonvolatile memory system
US20160163381A1 (en) Memory system including semiconductor memory device and method of operating the same
US10817418B2 (en) Apparatus and method for checking valid data in memory system
US20170270045A1 (en) Hybrid memory device and operating method thereof
KR20120105294A (ko) 불휘발성 메모리를 제어하는 메모리 컨트롤러
KR20200016074A (ko) 데이터 처리 시스템 및 그의 동작 방법
KR20200019421A (ko) 메모리 시스템 내 대용량 데이터 저장이 가능한 블록에서의 유효 데이터 체크 방법 및 장치
US20220405201A1 (en) Storage device for performing dump operation, method of operating storage device, computing system including storage device and host device for controlling storage device, and method of operating computing system
KR20210011176A (ko) 메모리 시스템의 액세스 동작 방법 및 장치
US8656084B2 (en) User device including flash memory storing index and index accessing method thereof
CN113900585A (zh) 存储器控制器及其操作方法
CN105279102B (zh) 用于控制非易失性存储器的控制器和包括其的半导体器件
CN111857818A (zh) 存储器系统和通过该存储器系统执行命令操作的方法
US20220405009A1 (en) Storage device and operating method thereof
KR20200014175A (ko) 소요시간을 예측하여 가비지 컬렉션을 수행하는 방법 및 장치
CN113867619B (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
GR01 Patent grant
GR01 Patent grant