CN110389720A - 存储装置及其操作方法 - Google Patents

存储装置及其操作方法 Download PDF

Info

Publication number
CN110389720A
CN110389720A CN201811583799.6A CN201811583799A CN110389720A CN 110389720 A CN110389720 A CN 110389720A CN 201811583799 A CN201811583799 A CN 201811583799A CN 110389720 A CN110389720 A CN 110389720A
Authority
CN
China
Prior art keywords
memory
data
superblock
status information
nop
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
CN201811583799.6A
Other languages
English (en)
Other versions
CN110389720B (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 CN110389720A publication Critical patent/CN110389720A/zh
Application granted granted Critical
Publication of CN110389720B publication Critical patent/CN110389720B/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/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明涉及一种具有提高的操作速度的存储装置,该存储装置包括:多个存储器装置,该存储器装置中的每一个包括多个存储块;以及存储器控制器,被配置成分配超级块、读取存储块状态信息表中的状态信息、并且基于存储块状态信息表中的状态信息来调整写入数据的大小,该超级块包括多个存储块之中的、包括在不同存储器装置中的至少两个存储块,该存储块状态信息表指示多个存储块中的每一个是否为坏块或正常块,该写入数据是待存储在包括在超级块中的多个条带之中的所选择条带中的数据。

Description

存储装置及其操作方法
相关申请的交叉引用
本申请要求于2018年4月23日提交的申请号为10-2018-0046828的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开的各个实施例总体涉及一种电子装置。特别地,实施例涉及一种存储装置及其操作方法。
背景技术
存储装置是一种在诸如计算机或智能电话的主机装置的控制下存储数据的装置。存储装置可包括用于存储数据的存储器装置和用于控制存储器装置的存储器控制器。存储器装置分为易失性存储器装置和非易失性存储器装置。
易失性存储器装置是仅在供应电力时存储数据的存储器装置,并且当电力供应中断时存储的数据丢失。易失性存储器装置可包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
非易失性存储器装置是即使在电力供应中断时仍保留数据的存储器装置。非易失性存储器装置可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEROM)、闪速存储器等。
发明内容
实施例提供了一种具有提高的操作速度的存储装置及其操作方法。
根据本公开的一个方面,提供了一种存储装置,该存储装置包括:多个存储器装置,该存储器装置中的每一个包括多个存储块;以及存储器控制器,被配置成分配超级块、读取存储块状态信息表中的状态信息、并且基于存储块状态信息表中的状态信息来调整写入数据的大小,该超级块包括多个存储块之中的、包括在不同存储器装置中的至少两个存储块,该存储块状态信息表指示多个存储块中的每一个是否为坏块或正常块,该写入数据是待存储在包括在超级块中的多个条带之中的所选择的条带中的数据。
根据本公开的另一方面,提供了一种存储器控制器,该存储器控制器包括:存储器接口,被配置成与多个存储器装置通信数据,该存储器装置中的每一个包括多个存储块;以及写入控制电路,被配置成分配超级块、读取存储块状态信息表中的状态信息、并且基于存储块状态信息表中的状态信息来调整写入数据的大小,该超级块包括多个存储块之中的、包括在不同存储器装置中的至少两个存储块,该存储块状态信息表指示多个存储块中的每一个是否为坏块或正常块,该写入数据是待存储在包括在超级块中的多个条带之中的所选择的条带中的数据。
根据本公开的又一方面,提供了一种用于操作存储器控制器的方法,该存储器控制器用于控制多个存储器装置,该存储器装置中的每一个包括多个存储块,该方法包括:分配多个超级块,该超级块中的每一个包括多个存储块之中的、包括在不同存储器装置中的至少两个存储块;并且基于存储块状态信息表中的状态信息,调整写入数据的大小,该存储块状态信息表指示多个存储块中的每一个是否为坏块或正常块,该写入数据是待存储在包括在超级块中的多个条带之中的所选择的条带中的数据。
根据本公开的又一方面,提供了一种存储器系统,该存储器系统包括:多个存储器装置,包括多个条带,条带中的每一个分别具有多个页面;以及控制器,被配置成:基于每页面的编程数量(NOP)、数据写入位置和页面的状态来检测所选择条带的可用空间;根据所选择条带的可用空间来动态地确定待存储在所选择条带中的数据大小;并且控制存储器装置以执行写入操作,将与所确定的数据大小一样多的写入数据存储到所选择条带中的可用空间中。
附图说明
现在将参照附图在下文中更详细地描述各个实施例;然而,这些实施例可以不同的形式来实现,并且不应被解释为限于本文阐述的实施例。相反地,提供这些实施例以使本公开将是彻底且完整的,并且将示例性实施例的范围全面地传达给本领域技术人员。
在附图中,为了说明清楚,可夸大附图的尺寸。将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。相同的附图标记始终表示相同的元件。
图1是示出根据本发明的实施例的存储装置的示图。
图2是示出图1的存储器装置的示图。
图3是示出图2的存储器单元阵列的示图。
图4是示例性地示出图1的存储器控制器与多个存储器装置之间的联接关系的框图。
图5是示出根据本公开的实施例的超级块、超级页面或条带(stripe)的概念的示图。
图6是示出根据本公开的实施例的图5的超级块的另一实施例的示图。
图7是示出根据本公开的实施例的编程数量(NOP)的概念的示图。
图8是示出根据本公开的实施例的图1的存储块状态信息表的示图。
图9是示出根据本公开的实施例的超级块的NOP的示图。
图10是示出根据本公开的实施例的超级块中的数据写入位置(NWNOP_Index)的示图。
图11是示出作为待存储在条带中的数据的写入数据的大小的示图。
图12是示出根据本公开的实施例的存储器控制器的操作的流程图。
图13是示出图1的存储器控制器的另一实施例的示图。
图14是示出根据本公开的实施例的应用了存储装置的存储卡系统的框图。
图15是示出根据本公开的实施例的应用了存储装置的固态驱动器(SSD)系统的框图。
图16是示出根据本公开的实施例的应用了存储装置的用户系统的框图。
具体实施方式
出于描述根据本公开的技术方案的实施例的目的,本文公开的具体结构或功能描述仅是说明性的。根据本公开的技术方案的实施例可以各种形式实施,并且不能被解释为限于本文阐述的实施例。
根据本公开的技术方案的实施例可进行各种修改并具有各种形状。因此,这些实施例在附图中示出,并且旨在在本文中被详细描述。然而,根据本公开的技术方案的实施例不被解释为限于特定公开,并且包括不脱离本公开的精神和技术范围的所有改变、等同方案或替代方案。
虽然使用诸如“第一”和“第二”的术语来描述各个部件,但这些部件不应被理解为限于上述术语。上述术语仅用于将一个部件与另一个部件区分开。例如,在不脱离本公开的权利范围的情况下,第一部件可被称为第二部件,同样,第二部件也可被称为第一部件。
将理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可直接连接或联接至其它元件,或者也可存在中间元件。相反地,当元件被称为“直接连接”或“直接联接”到另一元件时,不存在中间元件。同时,可类似地来解释诸如“在……之间”、“直接在……之间”或“与……相邻”和“直接与……相邻”等描述部件之间关系的其它表述。
本申请中使用的术语仅用于描述特定实施例,并不旨在限制本公开。除非上下文另有明确说明,否则本公开中的单数形式也旨在包括复数形式。将进一步理解的是,诸如“包括”或“具有”等术语旨在指示本说明书中公开的特征、数字、操作、动作、组件、部件或其组合的存在,并且不旨在排除可能存在或可能添加一个或多个其它特征、数字、操作、动作、组件、部件或其组合的可能性。
除非在本说明书中另有说明或明确指出,否则本文所使用的包括技术或科学术语的所有术语具有本公开所属领域的技术人员通常理解的含义。具有字典中限定的定义的术语应当被理解为具有与相关技术的背景一致的含义。除非在本说明书中红另有说明或明确指出,否则不应以理想化或过于形式化的方式理解术语。
在以下描述中,为了提供本发明的彻底理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
本文使用的术语仅是为了描述特定实施例的目的而不旨在限制本发明。
如本文所使用的,除非上下文另有明确说明,否则单数形式也可包括复数形式,并且反之亦然。
注意的是,对“实施例”的参考不一定意味着仅针对一个实施例,并且对“实施例”的不同参考不一定针对相同的实施例。
在下文中,将参照附图详细地描述本公开的示例性实施例,以便本领域技术人员能够容易地实施本公开的技术方案。
图1是示出存储装置50的示图。
参照图1,存储装置50可以是用于在主机300的控制下存储数据的装置。主机300的非限制性示例可包括移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统。
根据作为与主机300的通信方案的主机接口,存储装置50可被实施为各种类型的存储装置中的任何一种。例如,存储装置50可利用诸如以下的各种类型的存储装置中的任何一种来实施:固态驱动器(SSD)、多媒体卡(MMC)、嵌入式多媒体卡(EMMC)、尺寸减小的多媒体卡(RS-MMC)和微型多媒体卡(微型MMC)型的多媒体卡,安全数字(SD)、迷你安全数字(迷你-SD)和微型安全数字(微型SD)型的安全数字(SD)卡,通用存储总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型的存储装置,外围组件互连(PCI)卡型的存储装置,高速PCI(PCI-e或PCIe)卡类型的存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
存储装置50可被制造成各种种类的封装类型中的任何一种。例如,存储装置50可被制造在诸如以下的各种种类的封装类型中的任何一种中:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)以及晶圆级堆叠封装(WSP)。
存储装置50可包括存储器控制器200和存储器装置100。存储器装置100可存储数据。存储器装置100可在存储器控制器200的控制下操作。存储器装置100可包括(图3所示的)存储器单元阵列,该存储器单元阵列包括用于存储数据的多个存储器单元。存储器单元阵列可包括多个存储块(例如,图3所示的BLK1至BLKz)。每一个存储块可包括多个存储器单元。一个存储块可包括多个页面。在一些实施例中,页面可以是用于存储数据或读取存储在存储器装置100中的数据的单位。存储块可以是用于擦除数据的单位。作为示例而非限制,存储器装置100可以是:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,为便于描述,假设并描述了存储器装置100是NAND闪速存储器的情况。
存储器装置100可被配置成从存储器控制器200接收命令和地址,并且访问存储器单元阵列中由地该址选择的区域。也就是说,存储器装置100可对由地址选择的区域执行与命令相对应的操作。例如,存储器装置100可执行写入(编程)操作、读取操作和擦除操作。在编程操作中,存储器装置100可将数据编程到由地址选择的区域中。在读取操作中,存储器装置100可从由地址选择的区域读取数据。在擦除操作中,存储器装置100可擦除存储在由地址选择的区域中的数据。
在实施例中,存储器装置100可包括存储块状态信息表。存储块状态信息表可包括与多个存储块的状态相关的信息。具体地,存储块状态信息表可包括指示存储块是否为坏块或正常块的信息。在实施例中,存储块状态信息表可包括作为位映射的指示存储块是否为坏块或正常块的信息。
存储器控制器200可控制存储装置50的全部操作。
当向存储装置50供应电力时,存储器控制器200可执行固件(FW)。当存储器装置100为闪速存储器装置时,存储器控制器200可执行诸如闪存转换层(FTL)的FW,用以控制主机300和存储器装置100之间的通信。
在实施例中,存储器控制器200可从主机300接收数据和逻辑块地址(LBA),并且将LBA转换为物理块地址(PBA),该物理块地址(PBA)表示包括在存储器装置100中的、存储数据的存储器单元的地址。
存储器控制器200可响应于来自主机300的请求,控制存储器装置100执行编程操作、读取操作、擦除操作等。在编程操作中,存储器控制器200可向存储器装置100提供编程命令、PBA和数据。在读取操作中,存储器控制器200可向存储器装置100提供读取命令和PBA。在擦除操作中,存储器控制器200可向存储器装置100提供擦除命令和PBA。
在实施例中,存储器控制器200可在没有来自主机300的任何请求的情况下自主地生成编程命令、地址和数据,并且将编程命令、地址和数据传输到存储器装置100。例如,存储器控制器200可向存储器装置100提供命令、地址和数据以执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,存储器控制器200可控制至少两个存储器装置100。存储器控制器200可根据交错(interleave)方案控制存储器装置,以便提高操作性能。
主机300可使用诸如以下的各种通信方式中的至少一种来与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。
图2是示出存储器装置,例如图1的存储器装置100的示图。
参照图2,存储器装置100可包括存储器单元阵列100、外围电路120和控制逻辑130。
存储器单元阵列110可包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL联接到地址解码器121。多个存储块BLK1至BLKz通过位线BL1至BLm联接到读取/写入电路123。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。
存储块可被划分为用于存储用户数据的用户块和用于存储系统数据的系统块。用户块可根据是否存储有数据而被划分为空闲块或数据块。空闲块可以是未存储任何数据且为空的块。数据块可以是存储有数据的块。存储在数据块中的数据可被划分为有效数据和无效数据。
存储块之中无法存储任何数据的块可被称为坏块。根据产生坏块的时间点,坏块可被划分为制造坏块(MMB)和生成坏块(GBB),其中制造坏块(MMB)是在制造存储器装置100期间产生的坏块,生长坏块(GBB)是在使用存储块之后产生的坏块。在实施例中,当读取存储数据的存储块时,其中产生不可校正的错误的存储块可能是GBB。
在实施例中,参照图1描述的存储块状态信息表可被存储在系统块中。存储器装置100可响应于来自外部控制器(未示出)的请求提供存储块状态信息表中的信息。
每一个存储块可包括用于存储数据的多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。在多个存储器单元之中,联接到相同字线的存储器单元可被定义为一个页面。也就是说,存储器单元阵列110可包括多个页面。在实施例中,包括在存储器单元阵列110中的多个存储块BLK1至BLKz中的每一个可包括多个虚设(dummy)单元。一个或多个虚设单元可串联联接在漏极选择晶体管与存储器单元之间。另外,一个或多个虚设单元可串联联接在源极选择晶体管与存储器单元之间。
存储器装置100的存储器单元中的每一个可以是用于存储一个数据位的单层单元(SLC)、用于存储两个数据位的多层单元(MLC)、用于存储三个数据位的三层单元(TLC)或用于存储四个数据位的四层单元(QLC)。
外围电路120可包括地址解码器121、电压发生器122、读取/写入电路123以及数据输入/输出电路124。
地址解码器121通过行线RL联接到存储器单元阵列110。行线RL可包括漏极选择线、字线、源极选择线和共源线。在实施例中,字线可包括正常字线和虚设字线。在实施例中,行线RL可进一步包括管道选择线。
地址解码器121可响应于控制逻辑130的控制进行操作。地址解码器121从控制逻辑130接收地址ADDR。
地址解码器121可对接收到的地址ADDR中的块地址进行解码。地址解码器121根据解码的块地址在存储块BLK1至BLKz之中选择至少一个存储块。地址解码器121可对接收到的地址ADDR中的行地址进行解码。地址解码器121可根据解码的行地址,通过将从电压发生器122提供的电压施加到字线WL来在输入到所选择存储块的字线之中选择至少一个字线WL。
在编程操作中,地址解码器121可将编程电压施加到所选择字线并将电平低于编程电压的电平的编程通过电压施加到未选择字线。在编程验证操作中,地址解码器121可将验证电压施加到所选择字线并将高于验证电压的验证通过电压施加到未选择字线。在读取操作中,地址解码器121可将读取电压施加到所选择字线并将高于读取电压的通过电压施加到未选择字线。
在实施例中,以存储块为单位对存储器装置100执行擦除操作。在擦除操作中,输入到存储器装置100的地址ADDR包括块地址。地址解码器121可对块地址进行解码,并且根据解码的块地址来在存储块BLK1至BLKz之中选择至少一个存储块。在擦除操作中,地址解码器121可将接地电压施加到与所选择存储块联接的字线。
在实施例中,地址解码器121可对传输到其的地址ADDR中的列地址进行解码。解码的列地址(DCA)可被传输到读取/写入电路123。作为示例,地址解码器121可包括诸如行解码器、列解码器和地址缓冲器的部件。
电压发生器122可通过使用供应给存储器装置100的外部电源电压来生成多个电压。电压发生器122响应于控制逻辑130的控制而进行操作。
在实施例中,电压发生器122可通过调节外部电源电压来生成内部电源电压。通过电压发生器122生成的内部电源电压用作存储器装置100的操作电压。
在实施例中,电压发生器122可通过使用外部电源电压或内部电源电压来生成多个电压。电压发生器122可被配置成生成存储器装置100所需的各种电压。例如,电压发生器122可生成多个编程电压、多个通过电压、多个选择读取电压或多个未选择读取电压。
例如,电压发生器122可包括用于接收内部电源电压的多个泵浦(pumping)电容器,并且可在控制逻辑130的控制下通过选择性地激活多个泵浦电容器来生成多个电压。可通过地址解码器121将多个生成的电压供应给存储器单元阵列110。
读取/写入电路123可包括第一至第m页面缓冲器PB1至PBm(其中m为正整数)。第一至第m页面缓冲器PB1至PBm分别通过第一至第m位线BL1至BLm联接到存储器单元阵列110。第一至第m页面缓冲器PB1至PBm可在控制逻辑130的控制下操作。
第一至第m页面缓冲器PB1至PBm可与数据输入/输出电路124通信数据。在编程操作中,第一至第m页面缓冲器PB1至PBm可通过数据输入/输出电路124和数据线DL接收待被存储的数据DATA。
在编程操作中,可根据行地址将编程脉冲施加到所选择字线。第一至第m页面缓冲器PB1至PBm可通过位线BL1至BLm将通过数据输入/输出电路124接收的数据DATA传输到所选择字线的存储器单元。可根据传输的数据DATA对所选择字线的存储器单元之中的至少一个存储器单元进行编程。联接到施加有编程允许电压(例如,接地电压)的位线的存储器单元的阈值电压可被增加。联接到施加有编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可被保持。
在编程验证操作中,第一至第m页面缓冲器PB1至PBm通过位线BL1至BLm从所选择字线的存储器单元读取页面数据。
在读取操作中,读取/写入电路123通过位线BL从所选择字线的存储器单元读取页面数据DATA,并且将读取的页面数据DATA输出到数据输入/输出电路124。
在擦除操作中,读取/写入电路123可使位线BL浮置。在实施例中,读取/写入电路123可包括列选择电路。
数据输入/输出电路124通过数据线DL联接到第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124可在控制逻辑130的控制下操作。
数据输入/输出电路124可包括接收输入数据的多个输入/输出缓冲器(未示出)。在编程操作中,数据输入/输出电路124可从外部控制器(未示出)接收待被存储的数据DATA。在读取操作中,数据输入/输出电路124向外部控制器输出从包括在读取/写入电路123中的第一至第m页面缓冲器PB1至PBm传输的数据。
控制逻辑130可联接到地址解码器121、电压发生器122、读取/写入电路123以及数据输入/输出电路124。控制逻辑130可被配置成控制存储器装置100的全部操作。控制逻辑130可响应于从外部装置传输的命令CMD而进行操作。
图3是示出存储器单元阵列,例如图2的存储器单元阵列110的示图。
参照图3,第一至第z存储块BLK1至BLKz共同联接到第一至第m位线BL1至BLm。在图3中,仅示出了包括在多个存储块BLK1至BLKz之中的第一存储块BLK1中的部件。然而,应当理解的是,其它存储块BLK2至BLKz中的每一个类似于第一存储块BLK1地进行配置,所以为方便描述,省略了对包括在其它存储块BLK2至BLKz中的每一个中的部件的描述。
存储块BLK1可包括多个单元串CS1_1至CS1_m(其中m为正整数)。第一至第m单元串CS1_1至CS1_m分别联接到第一至第m位线。第一至第m单元串CS1_1至CS1_m中的每一个可包括漏极选择晶体管DST、串联联接的多个存储器单元MC1至MCn(其中n为正整数)以及源极选择晶体管SST。
包括在第一至第m单元串CS1_1至CS1_m中的每一个中的漏极选择晶体管DST的栅极端子联接到漏极选择线DSL1。包括在第一至第m单元串CS1_1至CS1_m中的每一个中的第一至第n存储器单元MC1至MCn的栅极端子分别联接到第一至第n字线WL1至WLn。包括在第一至第m单元串CS1_1至CS1_m中的每一个中的源极选择晶体管SST的栅极端子联接到源极选择线SSL1。
为便于描述,将基于多个单元串CS1_1至CS1_m之中的第一单元串CS1_1来描述单元串的结构。然而,应当理解的是,其它单元串CS1_2至CS1_m中的每一个类似于第一单元串CS1_1地进行配置。
包括在第一单元串CS1_1中的漏极选择晶体管DST的漏极端子联接到第一位线BL1。包括在第一单元串CS1_1中的漏极选择晶体管DST的源极端子联接到包括在第一单元串CS1_1中的第一存储器单元MC1的漏极端子。第一至第n存储器单元MC1至MCn彼此串联联接。包括在第一单元串CS1_1中的源极选择晶体管SST的漏极端子联接到包括在第一单元串CS1_1中的第n存储器单元MCn的源极端子。包括在第一单元串CS1_1中的源极选择晶体管SST的源极端子联接到共源线CSL。在实施例中,共源线CSL可共同联接到第一至第z存储块BLK1至BLKz。
图2的行线RL中包括漏极选择线DSL1、第一至第n字线WL1至WLn以及源极选择线SSL1。由地址解码器121控制漏极选择线DSL1、第一至第n字线WL1至WLn以及源极选择线SSL1。共源线CSL可在控制逻辑130的控制下操作。由读取/写入电路123控制第一至第m位线BL1至BLm。
图4是示例性地示出存储器控制器,例如图1的存储器控制器200与多个存储器装置之间的联接关系的框图。
参照图4,存储器控制器200可通过多个通道CH0至CH3联接到多个存储器装置(例如,存储器装置_00至存储器装置_33)。然而,本发明不限于此。例如,存储器装置的数量和通道的数量可根据设计而变化。也就是说,在实施例中,将理解的是,可以各种方式修改通道的数量或联接到每一个通道的存储器装置的数量。然而,在本说明书中,为便于描述,假设存储器控制器200通过四个通道联接到存储器装置,并且四个存储器装置联接到每一个通道。
在图4中,将仅描述联接到第零通道CH0的存储器装置_00、存储器装置_01、存储器装置_02和存储器装置_03的操作。然而,应当理解的是,联接到其它通道CH1至CH3的其它存储器装置(例如,存储器装置_10至存储器装置_33)类似地操作,所以为便于描述,省略了对那些其它存储器装置的描述。
存储器装置_00至存储器装置_03可共同联接到第零通道CH0。存储器装置_00至存储器装置_03可通过第零通道CH0与存储器控制器200通信。因为存储器装置_00至存储器装置_03共同联接到第零通道CH0,所以在每次存储器装置_00至存储器装置_03之中仅一个存储器装置可与存储器控制器200通信。然而,可同时执行分别在存储器装置_00至存储器装置_03中执行的操作。
使用数据交错,即使用交错方案的数据通信,可提高使用多个存储器装置的存储装置的性能。使用交错方案的数据交错可表示在两个或更多个路(way)共享一个通道的结构中的路之间移动的同时执行数据读取或写入操作。为执行数据交错,可以通道和路为单位来管理存储器装置。为最大化联接到每一个通道的存储器装置的并行性,存储器控制器200可将连续的逻辑存储器区域分配和指定给通道和路。
例如,存储器控制器200可通过第零通道CH0将命令、包括地址的控制信号以及数据传输到存储器装置_00。当存储器装置_00在将传输的数据编程到其中所包括的存储器单元中时,存储器控制器200可将命令、包括地址的控制信号以及数据传输到存储器装置_01。
在图4中,多个存储器装置可被配置成四个路WAY0至WAY3。第零路WAY0可包括存储器装置_00、存储器装置_10、存储器装置_20和存储器装置_30。第一路WAY1可包括存储器装置_01、存储器装置_11、存储器装置_21和存储器装置_31。第二路WAY2可包括存储器装置_02、存储器装置_12、存储器装置_22和存储器装置_32。第三路WAY3可包括存储器装置_03、存储器装置_13、存储器装置_23和存储器装置_33。
通道CH0至CH3中的每一个可以是用于由联接到相应通道的存储器装置共享和使用的信号的总线。
虽然图4示出了四个通道/四个路结构中的数据交错,但当通道数量和路数量增加时,可提高数据交错的效率。
图5是示出根据本公开的实施例的超级块、超级页面或条带的概念的示图。
参照图5,四个存储器装置,即存储器装置_00至存储器装置_03可共同联接到第零通道CH0。
在图5中,每一个存储器装置可包括多个平面。然而,在本说明书中,为便于描述,假设一个存储器装置包括一个平面。包括在存储器装置(存储器装置_00至存储器装置_03)中的每一个中的一个平面可包括第零至第n存储块BLK0至BLKn,并且一个存储块可包括第零至第k页面Page 0至Page k。
存储器控制器(例如,存储器控制器200)可以超级块为单位来控制包括在共同联接到一个通道(例如,通道CH0)的多个存储器装置(例如,存储器装置_00至存储器装置_03)中的存储块(例如,存储块BLK0至BLKn)。例如,包括在存储器装置_00至存储器装置_03中的第零存储块BLK0可构成第零超级块Super Block 0。因此,联接到第零通道CH0的存储器装置_00至存储器装置_03可包括第零至第n超级块Super Block 0至Super Block n。
一个超级块可配置有多个条带Stripe 0至Stripe k。条带可与术语“超级页面(super page)”一起使用。
一个条带或超级页面(例如,条带Stripe 0至Stripe k或Super Page 0至SuperPage k之中的第零条带Stripe 0或Super Page 0)可包括多个页面(例如,页面Page 0至Page k之中的第零页面Page 0)。例如,分别包括在第零超级块Super Block 0中包括的多个第零存储块BLK0中的第零页面Page0可构成第零条带Stripe 0或第零超级页面SuperPage 0。
因此,第零至第k条带Stripe 0至Stripe k可被包括在一个超级块中。可选地,第零至第k超级页面Super Page 0至Super Page k可被包括在一个超级块中。
当存储器控制器将数据存储在存储器装置_00至存储器装置_03中或者从存储器装置_00至存储器装置_03中读取数据时,存储器控制器200可以条带或超级页面为单位存储或读取数据。
图6是示出根据本公开的实施例的图5的超级块的另一实施例的示图。
参照图6,图6所示的存储器装置_00可对应于参照图4描述的多个存储器装置(存储器装置_00至存储器装置_33)之中的存储器装置_00。
存储器装置_00可包括多个平面Plane 0至Plane 3。一个平面可包括多个存储块BLK00至BLKi(其中i为正整数)。虽然图6示出了存储器装置_00包括四个平面Plane 0至Plane 3,但这是为了便于描述,并且包括在一个存储器装置中的平面的数量不限于图6的实施例。
平面可以是用于独立地执行编程操作、读取操作或擦除操作的单位。因此,对于每一个平面,存储器装置_00可包括参照图2描述的地址解码器121和读取/写入电路123。
在实施例中,超级块SUPBK可包括一个存储器装置中所包括的多个平面中的存储块之中的、包括在不同平面中的至少两个存储块。以超级块SUPBK为单位存储数据的存储器装置_00可同时对多个平面Plane 0至Plane 3执行操作(多平面操作)。
图7是示出根据本公开的实施例的编程数量(NOP)的概念的示图。
参照图7,第零页面Page 0表示参照图5描述的多个页面Page0至Page k之中的任何一个页面。
可对多个页面Page 0至Page k之中的任何一个页面,例如对图7中的第零页面Page 0进行划分,并且然后进行编程。对任何一个页面进行划分并且然后进行编程的次数称为NOP。例如,如果一个页面通过两次编程来存储数据,则相应页面的每页面NOP可以为2。1NOP所编程的数据的大小可以是存储在一个页面中的数据的大小的一半。
在实施例中,如果一个页面通过四次编程来存储数据,则相应页面的每页面NOP可以为4。1NOP所编程的数据的大小可以是存储在一个页面中的数据的大小的1/4。
每页面NOP可以是1或更大的正整数。在实施例中,1NOP可表示通过一次编程而存储在一个页面中的数据的大小。当每页面NOP为4时,可在每一个一次编程中存储具有对应于1NOP的大小的数据。具有对应于总共4NOP的大小的数据可被存储在一个页面中。
在图7所示的特定示例中,每页面NOP为4。当假设存储在一个页面中的数据的大小为16千字节时,对应于1NOP的数据的大小可以为4千字节。在示例中,第零页面Page 0的大小为4NOP。第零页面Page0处于执行了总共四次编程中的一次编程的状态。也就是说,对应于1NOP的数据被存储在第零页面Page 0中。每当执行一次编程时,第零页面Page 0可存储具有对应于1NOP的大小的数据。
图8是示出存储块状态信息表,例如包括在图1的存储器装置100中的存储块状态信息表的示图。
参照图8,存储块状态信息表可包括与包括在存储器装置中的多个存储块的状态相关的信息。具体地,存储块状态信息表可包括指示多个存储块中的每一个是否为坏块或正常块的信息。
例如,状态信息为“0”的存储块可以是正常块,并且状态信息为“1”的存储块可以是坏块。在另一实施例中,状态信息为“1”的存储块可以是正常块,并且状态信息为“0”的存储块可以是坏块。
在图8中,存储块状态信息表可包括第一至第z存储块BLK1至BLKz的状态信息。通过图8的存储块状态信息表,可看出第三存储块BLK3对应于坏块。
在实施例中,存储块状态信息表可包括在参照图1和图2描述的存储器装置100的系统块中。
图9是示出根据本公开的实施例的超级块的NOP的示图。
参照图9,第零超级块Super Block 0可包括第零至第三存储块BLK_0至BLK_3。虽然图9示出了一个超级块中包括四个存储块,但这是为了便于描述,并且一个超级块中包括的存储块的数量可根据实施例而变化。
参照图1描述的存储器控制器200可控制存储器装置以分配包括多个存储块的超级块,并且将数据存储在所分配的超级块中。
在实施例中,基于参照图8描述的存储块状态信息表中的存储块的状态信息,存储器控制器可计算超级块的NOP。
具体地,基于存储块状态信息表中的存储块的状态信息,存储器控制器可确定包括在超级块中的多个存储块之中对应于正常块的存储块的数量。存储器控制器可基于确定结果来计算相应超级块的NOP。
在实施例中,超级块的NOP可以是通过将包括在超级块中的多个存储块之中对应于正常块的存储块的数量与每存储块的NOP相乘而获得的值。每存储块NOP可以是通过将包括在一个存储块中的页面的数量与每页面NOP相乘而获得的值。
在各个实施例中,可使用联接到相同通道的存储器装置的数量和包括在每一个存储器装置中的平面的数量来计算超级块的NOP。
具体地,超级块的NOP可以是通过将每存储块NOP与通过以下所获得的值相乘而获得的值:从通过将包括在超级块中所包括的存储块中的存储器装置的数量、包括在每一个存储器装置中的平面的数量以及包括在每一个平面中的存储块的数量相乘而获得的值中减去包括在超级块中的坏块的数量。
在图9中,当假设包括在一个存储块中的页面数量为128,且每页面NOP为4时,每存储块NOP为512。因为1NOP表示通过一次编程所存储的数据的大小,所以一个存储块可存储具有对应于512NOP的大小的数据。
第零超级块Super Block0的NOP可以是通过将每存储块NOP512与除了对应于坏块的第一存储块BLK1之外的存储块的数量3相乘而获得的1536。也就是说,第零超级块SuperBlock 0可存储具有对应于1536NOP的大小的数据。
图10是示出根据本公开的实施例的超级块中的数据写入位置NWNOP_Index的示图。
在实施例中,图1的存储器控制器200可使用超级块的NOP来调整待由存储器控制器200控制而被提供给多个存储器装置的写入数据的大小。
参照图10,包括在第零超级块Super Block 0中的存储块之中对应于正常块的存储块BLK_0、BLK_2和BLK_3的数量为3。每一个存储块包括第零至第k页面PG 0至PG k。每页NOP为4。因此,第零超级块Super Block 0的NOP为12(k+1)。存储在第零超级块中的数据的大小可对应于12(k+1)NOP。
数据写入位置NWNOP_Index可表示以NOP为单位编程到超级块中的数据的大小。图10例示了具有值7的数据写入位置NWNOP_Index,值7表示7NOP,其与被编程到超级块中的数据的大小相对应。
数据写入位置NWNOP_Index可以是对包括在超级块中的页面所执行的编程数量的总和。例如,第零超级块Super Block0处于以下状态:对包括在第零存储块BLK_0中的第零页面PG0执行了四次编程,并且对包括在第二存储块BLK_2中的第零页面PG0执行了三次编程。因此,对包括在第零超级块Super Block0中的页面所执行的编程数量的总和对应于7,因此第零超级块Super Block 0的数据写入位置NWNOP_Index可具有值7。
图11是示出根据本公开的实施例的作为待存储在条带中的数据的写入数据的大小的示图。
参照图11,第零条带Stripe 0表示参照图10描述的多个条带Stripe 0至Stripe k中的任何一个条带。
图1的存储器控制器200可以条带为单位存储数据。具体地,存储器控制器200可将数据存储在多个条带Stripe 0(或Super Page 0)至Stripe k(或Super Page k)之中的所选择条带中。当所选择条带充满编程数据时,存储器控制器可选择下一条带。
第零条带Stripe 0可包括第零至第三页面Page 0至Page 3。虽然图11示出了一个条带中包括四个页面,但这是为了便于描述,并且一个条带中包括的页面数量可根据实施例而变化。
条带的NOP可以是通过将包括在条带中的页面之中的正常块的页面的数量与每页面NOP相乘而获得的值。
例如,在图11中,第零条带Stripe 0包括第零至第三页面Page 0至Page 3。第一页面Page 1是包括在对应于坏块的存储块中的页面。第零、第二和第三页面Page 0、Page 2和Page 3是包括在对应于正常块的存储块中的页面。因此,包括在第零条带Stripe 0中的页面之中的正常块的页面的数量为3。每页面NOP为4,因此,第零条带Stripe 0的大小为12NOP。
条带的可用空间的NOP可以是通过从条带的NOP中减去在包括在条带中的页面中执行的编程数量的总和而获得的值。在包括在条带中的页面中执行的编程数量的总和可以是通过将包括条带的超级块中的数据写入位置NWNOP_Index除以条带的NOP而获得的余数。
例如,在图11中,当假设包括第零条带Stripe 0的超级块的数据写入位置NWNOP_Index为7时,通过将数据写入位置NWNOP_Index除以第零条带Stripe 0的NOP 12而获得的余数可以是7。因此,在包括在第零条带Stripe 0中的页面中执行的编程数量的总和可以是7。
因此,第零条带Stripe 0的可用空间的NOP为5NOP,5NOP是通过从第零条带Stripe0的NOP 7减去在包括在第零条带Stripe 0中的页面中执行的编程数量的总和7所获得的值。
参照图1描述的存储器控制器200可读取存储在存储器装置100中的存储块状态信息表中的存储块的状态信息,并且分配包括在多个存储器装置中的存储块之中的、包括在不同存储器装置中的至少两个存储块作为超级块。
存储器控制器可通过计算所分配的超级块的NOP和该超级块中的数据写入位置NWNOP_Index来调整写入数据的大小,该写入数据是待存储在包括在该超级块中的多个条带之中的所选择条带中的数据。也就是说,存储器控制器可调整提供给包括在由存储器控制器控制的多个存储器装置中的条带之中的所选择条带的数据的大小。
例如,当假设主机请求的待写入的写入数据的大小对应于9NOP时,第零条带Stripe 0的可用空间的NOP为5NOP,因此存储器控制器将具有对应于5NOP的大小的数据编程在第零条带Stripe 0中。在执行编程之后,存储器控制器可将作为剩余数据的具有对应于4NOP的大小的数据编程在下一条带中。
图12是示出根据本公开的实施例的存储器控制器的操作的流程图。
参照图12,在步骤S1201中,存储器控制器可从主机接收数据写入请求。
在步骤S1203中,存储器控制器可分配超级块,该超级块包括多个存储器装置中所包括的多个存储块之中的、包括在不同存储器装置中的至少两个存储块。
在步骤S1205中,存储器控制器可读取所分配的超级块中的数据写入位置。
在步骤S1207中,存储器控制器可基于超级块的NOP和超级块中的数据写入位置来确定剩余数据的大小是否大于所选择条带的可用空间的NOP。剩余数据是待写入的写入数据之中未执行数据写入的数据。写入数据与数据写入请求一起从主机提供。
作为确定结果,当剩余数据的大小大于条带的可用空间的NOP(即,在步骤S1207中为“是”)时,存储器控制器进行到步骤S1209。然而,当剩余数据的大小小于或等于条带的可用空间的NOP(即,在步骤S1207中为“否”)时,存储器控制器直接进行到步骤S1211。
在实施例中,存储器控制器可基于存储块状态信息表中的存储块的状态信息来计算所分配的超级块的NOP。
在步骤S1209中,当作为步骤S1207中的确定结果,剩余数据的大小大于条带的可用空间的NOP时,存储器控制器可将写入数据的大小调整为条带的可用空间的NOP。例如,当假设写入数据的大小对应于9NOP并且所选择条带的可用空间的NOP为5NOP时,存储器控制器将具有对应于5NOP的大小的数据编程在所选择条带中。这样,存储器控制器可将写入数据的大小调整到条带的可用空间的NOP。在执行编程之后,存储器控制器可将具有对应于4NOP的大小的剩余数据编程在下一条带中。
在步骤S1211中,存储器控制器可在所选择条带的可用空间中对剩余数据的全部或部分执行数据写入操作,并且然后更新超级块中的数据写入位置。
在实施例中,存储器控制器可将剩余数据的全部或部分提供给由存储器控制器控制的多个存储器装置,以便适于所选择条带的可用空间的大小。
在步骤S1213中,存储器控制器可确定是否已经完全写入了作为从主机请求的待写入数据的输入数据。作为确定结果,当完全写入了输入数据(即,在步骤S1213中为“是”)时,存储器控制器停止操作并可终止。然而,当未完全写入输入数据(即,在步骤S1213中为“否”)时,存储器控制器进行到步骤S1215。
在步骤S1215中,存储器控制器可确定超级块中的数据写入位置是否等于所分配的超级块的大小。作为确定结果,当超级块中的数据写入位置等于所分配的超级块的大小(即,在步骤S1215中为“是”)时,存储器控制器进行到步骤S1203。然而,当超级块中的数据写入位置不等于所分配的超级块的大小(即,在步骤S1215中为“否”)时,存储器控制器进行到步骤S1207。
图13是示出存储器控制器的另一实施例的示图。图13的存储器控制器1000可对应于图1的存储器控制器200。
存储器控制器1000联接到主机(例如,图1的主机300)和存储器装置(例如,图1的存储器装置100)。存储器控制器1000被配置成响应于从主机接收的请求来访问存储器装置。例如,存储器控制器1000被配置成控制存储器装置的读取操作、编程操作、擦除操作和后台操作。存储器控制器1000被配置成提供存储器装置与主机之间的接口。存储器控制器1000被配置成驱动用于控制存储器装置的固件。
参照图13,存储器控制器1000可包括处理器1010、写入控制电路1020、主机接口1030、存储器接口1040和总线1050。
处理器1010可控制存储器控制器1000的全部操作并且执行逻辑操作。处理器1010可通过主机接口1030与外部主机通信,并且通过存储器接口1040与存储器装置通信。
处理器1010可执行闪存转换层(FTL)的功能。处理器1010可通过FTL将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。FTL可使用映射表将输入的LBA转换为PBA。根据映射单位,存在数个FTL地址映射方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010被配置成使从主机接收的数据随机化。例如,处理器1010可使用随机化种子来使从主机接收的数据随机化。将随机化数据作为待存储的数据提供给存储器装置,以将该数据编程在存储器单元阵列中。
在读取操作中,处理器1010被配置成使从存储器装置接收的数据去随机化。例如,处理器1010可使用去随机化种子使从存储器装置接收的数据去随机化。去随机化数据可被输出到主机。
在实施例中,处理器1010可通过驱动软件或固件来执行随机化和去随机化。
写入控制电路1020可包括存储块管理部件1021和计算器1022。写入控制电路1020可基于存储块管理部件1021从图1的存储器装置100读取的存储块状态信息表中的存储块的状态信息,控制计算器1022以计算调整写入数据的大小所需的参数。
存储块管理部件1021可分配超级块,该超级块包括在多个存储器装置中所包括的多个存储块之中的、包括在不同存储器装置中的至少两个存储块。
存储块管理部件1021可读取存储在图1的存储器装置100中的存储块状态信息表中的存储块的状态信息。存储块状态信息表可包括指示包括在存储器装置中的多个存储块中的每一个是否为坏块或正常块的信息。坏块是不能编程数据的存储块。在示例中,坏块可以是在制造过程中被确定为缺陷块的存储块。
计算器1022可计算用于调整待写入条带的写入数据的大小的参数。用于调整写入数据的大小的参数可以是分配给写入数据的超级块的NOP、所选择条带的可用空间的NOP和所分配的超级块中的图10的数据写入位置NWNOP_Index中的一个或多个。
为了计算所分配的超级块中的数据写入位置,计算器1022可读取所分配的超级块中的数据写入位置,并且在写入数据之后更新数据写入位置。每当存储块管理部件1021分配待写入数据的超级块时,计算器1022可读取相应超级块中的数据写入位置。
主机接口1030可在处理器1010的控制下与外部主机通信。主机接口1030可使用诸如以下的各种通信方式中的至少一种来与主机通信:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。
存储器接口1040被配置成在处理器1010的控制下与存储器装置通信。存储器接口1040可通过通道与存储器装置通信命令、地址和数据。
在示例中,处理器1010可通过使用代码来控制存储器控制器1000的操作。处理器1010可从设置在存储器控制器1000中的非易失性存储器装置(例如,只读存储器(ROM))加载代码。在另一示例中,处理器1010可通过存储器接口1040从存储器装置加载代码。
总线1050可被配置成提供存储器控制器1000的部件之间的通道。
在示例中,存储器控制器1000的总线1050可被划分成控制总线和数据总线。数据总线可被配置成在存储器控制器1000中传输数据,并且控制总线可被配置成在存储器控制器1000中传输诸如命令和地址的控制信息。数据总线和控制总线彼此分离,并且不会彼此干扰或影响。数据总线可联接到写入控制电路1020、主机接口1030和存储器接口1040。控制总线可联接到处理器1010、写入控制电路1020、主机接口1030和存储器接口1040。
图14是示出根据本公开的实施例的应用了存储装置的存储卡系统的框图。
参照图14,存储卡系统2000包括存储器控制器2100、存储器装置和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100被配置成访问存储器装置2200。例如,存储器控制器2100被配置成控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置成提供存储器装置2200与主机之间的接口。存储器控制器2100被配置成驱动用于控制存储器装置2200的固件。存储器控制器2100可与参照图1描述的存储器控制器200相同地进行实施。
在示例中,存储器控制器2100可包括诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口和ECC电路的部件。
存储器控制器2100可通过连接器2300与外部装置通信。存储器控制器2100可根据特定通信协议与外部装置(例如,主机)通信。在示例中,存储器控制器2100可通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及NVMe。
在示例中,存储器装置2200可利用诸如以下的各种非易失性存储器装置来实施:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋力矩转移磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可被集成到单个半导体装置中以构成存储卡。例如,存储器控制器2100和存储器装置2200可构成诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存(CF)卡、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC和eMMC)、SD卡(SD、迷你SD、微型SD和SDHC)以及通用闪存(UFS)。
图15是示出根据本公开的实施例的应用了存储装置的固态驱动器(SSD)系统的框图。
参照图15,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并且通过电源连接器3002接收电力PWR。SSD 3200包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可用作参照图1描述的存储器控制器200。
SSD控制器3210可响应于从主机3100接收的信号SIG来控制多个闪速存储器3221至322n。在示例中,信号SIG可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号SIG可以是由诸如以下的接口中的至少一种所限定的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及NVMe。
辅助电源3230通过电源连接器3002联接到主机3100。当来自主机3100的电力供应不平稳时,辅助电源3230可提供SSD 3200的电力。在示例中,辅助电源3230可位于SSD 3200中,或者位于SSD 3200的外部。例如,辅助电源3230可位于主板上,并且向SSD 3200提供辅助电力。
缓冲存储器3240作为SSD 3200的缓冲存储器操作。例如,缓冲存储器3240可临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图16是示出根据本公开的实施例的应用了存储装置的用户系统的框图。
参照图16,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可驱动包括在用户系统4000中的部件、操作系统(OS)、用户程序等。在示例中,应用处理器4100可包括用于控制包括在用户系统4000中的部件的控制器、接口、图形引擎等。应用处理器4100可被设置为片上系统(SoC)。
存储器模块4200可作为用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓冲存储器操作。存储器模块4200可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性随机存取存储器或者诸如PRAM、ReRAM、MRAM和FRAM的易失性随机存取存储器。在示例中,应用处理器4100和存储器模块4200可通过基于堆叠封装(PoP)来封装而被设置为一个半导体封装。
网络模块4300可与外部装置通信。在示例中,网络模块4300可支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、WiMAX、WLAN、UWB、蓝牙或Wi-Fi的无线通信。在示例中,网络模块4300可包括在应用处理器4100中。
存储模块4400可存储数据。例如,存储模块4400可存储从应用处理器4100接收的数据。可选地,存储模块4400可将其中存储的数据传输到应用处理器4100。在示例中,存储模块4400可利用诸如以下的非易失性半导体存储器装置实施:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存或具有三维结构的NAND闪存。在示例中,存储模块4400可被设置为可移动驱动器,诸如用户系统4000的存储卡或外部驱动器。
例如,存储模块4400可包括多个非易失性存储器装置,并且多个非易失性存储器装置可与参照图2描述的存储器装置100相同地进行操作。存储模块4400可与参照图1描述的存储装置50相同地进行操作。
用户接口4500可包括用于将数据或命令输入到应用处理器4100或用于将数据输出到外部装置的接口。在示例中,用户接口4500可包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
根据本公开,可提供一种具有提高的操作速度的存储装置及其操作方法。
本文已经公开了示例性实施例,并且虽然采用了特定的术语,但是这些术语仅以一般的和描述性的意义来使用并理解,而不用于限制的目的。在一些情况下,如从本申请提交起对于本领域的普通技术人员而言显而易见的是,除非另外明确指出,否则结合特定实施例描述的特征、特性和/或元件可单独使用或与结合其它实施例描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解的是,在不脱离如所附权利要求中阐述的本公开的精神和范围的情况下,可进行形式和细节上的各种改变。

Claims (19)

1.一种存储装置,包括:
多个存储器装置,所述多个存储器装置中的每一个包括多个存储块;以及
存储器控制器,分配超级块、读取存储块状态信息表中的状态信息、并且基于所述存储块状态信息表中的所述状态信息来调整写入数据的大小,所述超级块包括所述多个存储块之中的、包括在不同存储器装置中的至少两个存储块,所述存储块状态信息表指示所述多个存储块中的每一个是否为坏块或正常块,所述写入数据是待存储在包括在所述超级块中的多个条带之中的所选择条带中的数据。
2.根据权利要求1所述的存储装置,其中所述存储块状态信息表中的所述状态信息作为位映射存储在所述存储器装置中。
3.根据权利要求1所述的存储装置,其中所述存储器控制器包括写入控制电路,所述写入控制电路调整所述写入数据的大小,
其中所述写入控制电路包括:
存储块管理部件,分配所述超级块并且读取所述存储块状态信息表中的所述状态信息;以及
计算器,基于所述存储块状态信息表中的所述状态信息来计算调整所述写入数据的大小所需的参数。
4.根据权利要求3所述的存储装置,其中所述计算器以编程数量,即NOP为单位计算所述参数,所述NOP与一个页面被划分并然后被编程的次数相对应,
其中所述参数包括所述超级块的NOP、所述超级块中的数据写入位置以及所述所选择条带的可用空间的NOP。
5.根据权利要求4所述的存储装置,其中基于所述存储块状态信息表中的所述状态信息,所述超级块的NOP是与包括在所述超级块中的所述多个存储块之中的、对应于正常块的所有存储块的大小相对应的NOP。
6.根据权利要求4所述的存储装置,其中所述超级块中的所述数据写入位置是与编程在所述超级块中的数据的大小或对包括在所述超级块中的页面执行的编程数量的总和相对应的NOP。
7.根据权利要求4所述的存储装置,其中当所述超级块中的所述数据写入位置等于所述超级块的NOP时,所述存储块管理部件分配除已分配的所述超级块之外的超级块。
8.根据权利要求4所述的存储装置,其中所述写入控制电路基于通过将剩余数据的大小与所述所选择条带的所述可用空间的NOP进行比较而获得的结果来调整所述写入数据的大小,
其中所述剩余数据是作为主机请求写入的数据的输入数据之中未执行数据写入操作的数据。
9.根据权利要求8所述的存储装置,其中当所述剩余数据的大小大于所述所选择条带的所述可用空间的NOP时,所述写入控制电路将所述写入数据的大小调整为所述所选择条带的所述可用空间的NOP。
10.根据权利要求1所述的存储装置,其中所述存储器控制器根据交错方案来控制所述多个存储器装置。
11.一种存储器控制器,包括:
存储器接口,与多个存储器装置通信数据,所述存储器装置中的每一个包括多个存储块;以及
写入控制电路,分配超级块、读取存储块状态信息表中的状态信息、并且基于所述存储块状态信息表中的所述状态信息来调整写入数据的大小,所述超级块包括所述多个存储块之中的、包括在不同存储器装置中的至少两个存储块,所述存储块状态信息表指示所述多个存储块中的每一个是否为坏块或正常块,所述写入数据是待存储在包括在所述超级块中的多个条带之中的所选择条带中的数据。
12.根据权利要求11所述的存储器控制器,其中所述写入控制电路包括:
存储块管理部件,分配所述超级块并且读取所述存储块状态信息表中的所述状态信息;以及
计算器,基于所述存储块状态信息表中的所述状态信息来计算调整所述写入数据的大小所需的参数。
13.根据权利要求12所述的存储器控制器,其中所述计算器以编程数量,即NOP为单位计算所述参数,所述NOP与一个页面被划分并然后被编程的次数相对应,
其中所述参数包括所述超级块的NOP、所述超级块中的数据写入位置以及所述所选择条带的可用空间的NOP。
14.根据权利要求13所述的存储器控制器,其中基于所述存储块状态信息表中的所述状态信息,所述超级块的NOP是与包括在所述超级块中的所述多个存储块之中的、对应于正常块的所有存储块的大小相对应的NOP。
15.根据权利要求13所述的存储器控制器,其中所述写入控制电路基于通过将剩余数据的大小与所述所选择条带的所述可用空间的NOP进行比较而获得的结果来调整所述写入数据的大小,
其中所述剩余数据是作为主机请求写入的数据的输入数据之中未执行数据写入操作的数据。
16.一种用于操作存储器控制器的方法,所述存储器控制器用于控制多个存储器装置,所述存储器装置中的每一个包括多个存储块,所述方法包括:
分配多个超级块,所述超级块中的每一个包括所述多个存储块之中的、包括在不同存储器装置中的至少两个存储块;并且
基于存储块状态信息表中的状态信息来调整写入数据的大小,所述写入数据是待存储在包括在所述超级块中的多个条带之中的所选择条带中的数据,所述存储块状态信息表指示所述多个存储块中的每一个是否为坏块或正常块。
17.根据权利要求16所述的方法,其中一个页面被划分并然后被编程的次数是编程数量,即NOP,
其中所述方法进一步包括基于所述存储块状态信息表中的所述状态信息来计算所述超级块的NOP、所述超级块中的数据写入位置以及所述所选择条带的可用空间的NOP。
18.根据权利要求17所述的方法,进一步包括:当所述超级块中的所述数据写入位置等于所述超级块的NOP时,分配除已分配的所述超级块之外的超级块。
19.根据权利要求17所述的方法,其中在调整所述写入数据的大小时,基于通过将剩余数据的大小与所述所选择条带的所述可用空间的NOP进行比较而获得的结果来调整所述写入数据的大小,
其中所述剩余数据是作为主机请求写入的数据的输入数据之中未执行数据写入操作的数据。
CN201811583799.6A 2018-04-23 2018-12-24 存储装置及其操作方法 Active CN110389720B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180046828A KR102530369B1 (ko) 2018-04-23 2018-04-23 저장 장치 및 그 동작 방법
KR10-2018-0046828 2018-04-23

Publications (2)

Publication Number Publication Date
CN110389720A true CN110389720A (zh) 2019-10-29
CN110389720B CN110389720B (zh) 2023-03-24

Family

ID=68237847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811583799.6A Active CN110389720B (zh) 2018-04-23 2018-12-24 存储装置及其操作方法

Country Status (3)

Country Link
US (1) US10846002B2 (zh)
KR (1) KR102530369B1 (zh)
CN (1) CN110389720B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177091A (zh) * 2020-04-10 2020-05-19 深圳市思拓通信系统有限公司 基于xfs文件系统录像预分配存储方法、系统及存储介质
CN111258924A (zh) * 2020-01-17 2020-06-09 中国科学院国家空间科学中心 一种基于星载固态存储系统自适应闪存转换层的映射方法
CN111522507A (zh) * 2020-04-14 2020-08-11 中山大学 一种低延迟的文件系统地址空间管理方法、系统及介质
CN111797388A (zh) * 2020-06-12 2020-10-20 武汉大学 基于运行时随机化的JavaScript引擎内存信息泄露防御方法及系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102516106B1 (ko) * 2018-02-14 2023-03-31 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
KR20210017181A (ko) * 2019-08-07 2021-02-17 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 동작 방법
US11409443B2 (en) * 2020-12-01 2022-08-09 Western Digital Technologies, Inc. Intelligent memory wear leveling
TWI831704B (zh) * 2023-06-12 2024-02-01 慧榮科技股份有限公司 藉助於動態區塊配置來進行記憶體裝置的儲存空間管理之方法、記憶體控制器、記憶體裝置以及電子裝置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572311B1 (en) * 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US20150134887A1 (en) * 2013-11-14 2015-05-14 Phison Electronics Corp. Data writing method, memory control circuit unit and memory storage apparatus
CN105719703A (zh) * 2014-12-17 2016-06-29 爱思开海力士有限公司 存储系统及其操作方法
CN106802770A (zh) * 2015-11-25 2017-06-06 爱思开海力士有限公司 存储器系统及其操作方法
US20170192716A1 (en) * 2016-01-04 2017-07-06 Phison Electronics Corp. Data writing method, memory control circuit unit and memory storage apparatus

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080018071A (ko) * 2006-08-23 2008-02-27 슬림디스크 주식회사 컨텐츠 기록 장치 및 그 방법
US8095765B2 (en) * 2009-03-04 2012-01-10 Micron Technology, Inc. Memory block management
JP2012234428A (ja) * 2011-05-06 2012-11-29 Nec Saitama Ltd メモリ制御装置、メモリ制御方法、プログラム
KR101888074B1 (ko) * 2012-01-09 2018-08-13 삼성전자주식회사 저장 장치 및 불휘발성 메모리 장치, 그리고 그것의 동작 방법
US9239781B2 (en) * 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US9671962B2 (en) * 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
KR20160112135A (ko) * 2015-03-18 2016-09-28 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20160127524A (ko) 2015-04-27 2016-11-04 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20180026876A (ko) * 2016-09-05 2018-03-14 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
JP7074454B2 (ja) * 2017-10-30 2022-05-24 キオクシア株式会社 計算機システムおよび制御方法
US10372355B2 (en) * 2017-12-29 2019-08-06 Micron Technology, Inc. Managing partial superblocks in a NAND device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572311B1 (en) * 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US20150134887A1 (en) * 2013-11-14 2015-05-14 Phison Electronics Corp. Data writing method, memory control circuit unit and memory storage apparatus
CN105719703A (zh) * 2014-12-17 2016-06-29 爱思开海力士有限公司 存储系统及其操作方法
CN106802770A (zh) * 2015-11-25 2017-06-06 爱思开海力士有限公司 存储器系统及其操作方法
US20170192716A1 (en) * 2016-01-04 2017-07-06 Phison Electronics Corp. Data writing method, memory control circuit unit and memory storage apparatus

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258924A (zh) * 2020-01-17 2020-06-09 中国科学院国家空间科学中心 一种基于星载固态存储系统自适应闪存转换层的映射方法
CN111258924B (zh) * 2020-01-17 2021-06-08 中国科学院国家空间科学中心 一种基于星载固态存储系统自适应闪存转换层的映射方法
CN111177091A (zh) * 2020-04-10 2020-05-19 深圳市思拓通信系统有限公司 基于xfs文件系统录像预分配存储方法、系统及存储介质
CN111177091B (zh) * 2020-04-10 2020-07-31 深圳市思拓通信系统有限公司 基于xfs文件系统录像预分配存储方法、系统及存储介质
CN111522507A (zh) * 2020-04-14 2020-08-11 中山大学 一种低延迟的文件系统地址空间管理方法、系统及介质
CN111522507B (zh) * 2020-04-14 2021-10-01 中山大学 一种低延迟的文件系统地址空间管理方法、系统及介质
CN111797388A (zh) * 2020-06-12 2020-10-20 武汉大学 基于运行时随机化的JavaScript引擎内存信息泄露防御方法及系统

Also Published As

Publication number Publication date
KR20190123094A (ko) 2019-10-31
CN110389720B (zh) 2023-03-24
US10846002B2 (en) 2020-11-24
KR102530369B1 (ko) 2023-05-10
US20190324670A1 (en) 2019-10-24

Similar Documents

Publication Publication Date Title
CN110389720A (zh) 存储装置及其操作方法
US10665291B2 (en) Memory device and operating method thereof
KR102535627B1 (ko) 메모리 컨트롤러 및 그 동작 방법
CN110069212A (zh) 存储装置及存储装置的操作方法
KR102535104B1 (ko) 저장 장치 및 그 동작 방법
CN109947662A (zh) 存储器系统及其操作方法
CN110275673A (zh) 存储装置及其操作方法
US20200371715A1 (en) Device and method of operating the same
CN110502449A (zh) 存储装置及其操作方法
CN112306902A (zh) 存储器控制器及操作其的方法
CN110175132A (zh) 存储装置及其操作方法
US20200401328A1 (en) Storage device and method of operating the same
CN110175133B (zh) 存储装置及其操作方法
CN109933540A (zh) 存储装置及其操作方法
KR20200114009A (ko) 메모리 컨트롤러 및 그 동작 방법
CN114579475A (zh) 电子系统及其操作方法
CN113535079B (zh) 存储器控制器以及具有存储器控制器的存储装置
CN110389722A (zh) 存储装置及其操作方法
CN113806240A (zh) 存储装置及其操作方法
CN114115708A (zh) 存储装置及其操作方法
CN114077387A (zh) 存储装置及其操作方法
US11836370B2 (en) Storage device and operating method thereof
CN110413219A (zh) 存储器控制器、存储器系统及其操作方法
US11625324B2 (en) Storage device for moving valid data to an open memory block based on a valid page list and operating method thereof
US11841795B2 (en) Storage device for setting a flag in a mapping table according to a sequence number and operating method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant