CN113806241A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN113806241A CN113806241A CN202110229367.0A CN202110229367A CN113806241A CN 113806241 A CN113806241 A CN 113806241A CN 202110229367 A CN202110229367 A CN 202110229367A CN 113806241 A CN113806241 A CN 113806241A
- Authority
- CN
- China
- Prior art keywords
- mapping
- buffer
- data
- encoded
- host
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/206—Memory mapped I/O
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)
Abstract
一种存储装置,包括:包括映射数据的非易失性存储器;以及控制器,被配置为读取映射数据之中待上传的映射数据,将待上传的映射数据划分为多个映射单元,顺序地对多个映射单元进行编码,并且将已被编码的映射单元传输到主机。控制器在将先前步骤中已被编码的映射单元传输到主机的同时对下一映射单元进行编码。
Description
相关申请的交叉引用
本申请要求于2020年6月17日在韩国知识产权局提交的申请号为10-2020-0073643的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种电子装置,并且更特别地,涉及一种存储装置及其操作方法。
背景技术
近来,计算机环境范例已经变成能够随时随地使用计算机***的普适计算。因此,诸如蜂窝电话、数码相机和笔记本计算机的便携式电子装置的使用正迅速增加。这种便携式电子装置通常使用具有存储器组件的数据存储装置。数据存储装置用于存储在相关的便携式电子装置中使用的数据。
使用存储器组件的数据存储装置的优点在于:由于不存在机械驱动单元,稳定性和耐久性优良;信息访问速度非常快;并且功耗低。具有这些优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态驱动器。
发明内容
各个实施例旨在提供一种能够缩短映射数据上传时间的存储装置及其操作方法。
在实施例中,一种存储装置包括:包括映射数据的非易失性存储器;以及控制器,被配置为读取映射数据之中待上传的映射数据,将待上传的映射数据划分为多个映射单元,顺序地对多个映射单元进行编码,并且将已被编码的映射单元传输到主机。控制器在将在先前操作中已被编码的映射单元传输到主机的同时,对下一映射单元进行编码。
在实施例中,一种存储装置的操作方法包括:从非易失性存储器中读取映射数据之中待上传的映射数据;将待上传的映射数据划分为多个映射单元;以及顺序地对多个映射单元进行编码,并且将已被编码的映射单元传输到主机。在将在先前操作中已被编码的映射单元传输到主机的同时对下一映射单元进行编码。
在实施例中,一种控制器包括:第一内核,被配置为用作与主机的接口;存储器,包括第一缓冲器和大于第一缓冲器的第二缓冲器;以及第二内核,被配置为读取存储在非易失性存储器中的映射数据之中待上传的映射数据,并且将所读取的待上传的映射数据存储在第一缓冲器中。第一内核将存储在第一缓冲器中的待上传的映射数据划分为多个映射单元,顺序地对多个映射单元进行编码,并且将已被编码的映射单元存储在第二缓冲器中。第一内核在将存储在第二缓冲器中的已被编码的映射单元传输到主机的同时对下一映射单元进行编码。
在实施例中,一种操作控制器的方法包括:对第一映射单元进行编码;将已被编码的第一映射单元传输到主机;以及在将已被编码的第一映射单元传输到主机的同时编码第二映射单元。
根据实施例,同时执行先前已被编码的映射单元的传输和下一映射单元的编码,从而可以缩短对待上传的映射数据进行编码所花费的时间。结果,也可以缩短将映射数据上传到主机所花费的时间,并且随着映射数据的上传时间缩短,可以减少读取命令的处理延迟以提高读取性能。
附图说明
图1是示出根据实施例的存储装置的图。
图2是示出例如图1的非易失性存储器的图。
图3是示出地址映射表的图。
图4是示出例如图1的存储器的图。
图5是示出根据实施例的向主机上传映射数据的操作的图。
图6是示出根据实施例的同时执行映射单元的编码和已被编码的映射单元的传输的图。
图7是示出根据实施例的存储装置的操作方法的流程图。
图8是示出根据实施例的包括固态驱动器(SSD)的数据处理***的图。
图9是示出例如图8所示的控制器的图。
图10是示出根据实施例的包括数据存储设备的数据处理***的图。
图11是示出根据实施例的包括数据存储设备的数据处理***的图。
图12是示出根据实施例的包括数据存储设备的网络***的图。
图13是示出根据实施例的包括在数据存储设备中的非易失性存储器装置的图。
具体实施方式
在下文中,参照附图描述各个实施例。在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅指一个实施例,并且对任何这样的短语的不同引用不一定针对相同的实施例。此外,术语“实施例”在本文中使用时不一定是指所有实施例。
图1是示出根据实施例的存储装置10的配置的图。
参考图1,存储装置10可以存储由诸如以下的主机(未示出)访问的数据:蜂窝电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视和/或车载信息娱乐***。存储装置10也可以被称为存储器***。
根据连接到主机的接口协议,可以用各种类型的存储装置中的任意一种来实现存储装置10。例如,存储装置10可以被配置为:固态驱动器(SSD)、MMC、eMMC、RS-MMC或微型MMC形式的多媒体卡,SD、迷你SD或微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡形式的存储装置,***组件互连(PCI)卡形式的存储装置,高速PCI(PCI-E)卡形式的存储装置,紧凑型闪存(CF)卡,智能媒体卡和/或记忆棒。
存储装置10可以被制造为各种类型的封装中的任意一种。例如,存储装置10可以被制造为堆叠封装(POP)、***级封装(SIP)、片上***(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和/或晶圆级堆叠封装(WSP)。
存储装置10可以包括非易失性存储器100和控制器200。
非易失性存储器100可以作为存储装置10的数据存储介质来操作。根据存储器单元,非易失性存储器100可以被配置为诸如以下的各种类型的非易失性存储器中的任意一种:NAND闪速存储器设备、NOR闪速存储器设备、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)膜的磁性随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PRAM)和/或使用过渡金属氧化物的电阻式随机存取存储器(ReRAM)。
为了清楚起见,图1将非易失性存储器100示出为一个块。然而,非易失性存储器100可以包括多个存储器芯片(或管芯)。本发明可以同样地应用于包括由多个存储器芯片组成的非易失性存储器100的存储装置10。
非易失性存储器100可以包括存储器单元阵列(未示出),该存储器单元阵列具有布置在多个位线(未示出)和多个字线(未示出)的各个交叉区域中的多个存储器单元。存储器单元阵列可以包括多个存储块,并且多个存储块中的每一个可以包括多个页面。
例如,存储器单元阵列的每个存储器单元可以是存储一位数据的单层单元(SLC)、能够存储两位数据的多层单元(MLC)、能够存储三位数据的三层单元(TLC)或能够存储四位数据的四层单元(QLC)。存储器单元阵列可以具有单层单元、多层单元、三层单元和四层单元之中的不同类型的存储器单元的混合。存储器单元阵列可以包括具有二维水平结构的存储器单元或具有三维垂直结构的存储器单元。
图2是示出图1的非易失性存储器100的图。
参照图2,非易失性存储器100可以包括多个子区域,即,子区域0至子区域k-1(k是等于或大于2的自然数)。子区域中的每一个可以具有基本相同的尺寸,或者不同的子区域可以具有不同的尺寸。多个子区域中的每一个可以包括多个存储块,存储块中的每一个可以包括多个页面;然而,本公开不特别限于此。子区域可以被称为子存储器区域。
图3是示出地址映射表的图。图3中示出的地址映射表可以包括在非易失性存储器100中。
参照图3,地址映射表可以包括多个映射段,映射段中的每一个可以包括i个逻辑地址和分别映射到i个逻辑地址的i个物理地址(i是等于或大于2的自然数)。也就是说,多个映射段中的每一个可包括i个逻辑地址到物理地址(L2P)条目。每个L2P条目可包括彼此映射的一个逻辑地址和一个物理地址。
包括在多个映射段中的每一个中的逻辑地址可以以特定顺序(例如,升序或降序)在地址映射表中被排序和排列;然而,本公开不特别限于此。映射到每个逻辑地址的物理地址可被更新为新存储了与相应的逻辑地址相关的数据的物理地址。此外,可以根据来自主机的取消映射请求来取消逻辑地址和物理地址之间的映射。
如图3所示,多个映射段0至k-1(k是等于或大于2的自然数)可以分别对应于图2所示的多个子区域“子区域0”至“子区域k-1”。例如,映射段“0”可以对应于“子区域0”。此外,映射段的数量和子区域的数量可以基本上相同。
此外,可以基于映射段执行映射更新操作。映射更新操作可以指示映射信息改变操作。映射信息改变可以包括将映射到逻辑地址的物理地址改变为与新存储与逻辑地址相关的数据的位置相对应的物理地址。
例如,当待更新(或改变)映射信息的逻辑地址是“LBA0”时,包括“LBA0”的映射段“0”中包括的所有逻辑地址LBA0至LBAi-1在映射更新操作期间被读取,并被存储在存储器220的映射更新缓冲器(未示出)中,然后“LBA0”的映射信息,即物理地址PBA可被改变。
返回参考图1,控制器200可以控制存储装置10的全部操作。控制器200可以处理从主机接收的请求。控制器200可响应于从主机接收的请求生成用于控制非易失性存储器100的操作的控制信号,并且将所生成的控制信号提供给非易失性存储器100。控制器200可以包括第一内核210、存储器220、第二内核230和数据传输电路240。
第一内核210可以根据主机的协议用作主机和存储装置10之间的接口。因此,第一内核210可以被称为协议内核。例如,第一内核210可以通过诸如以下的各种协议中的任意一种与主机通信:通用串行总线(USB)、通用闪存(UFS)、多媒体卡(MMC)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机***接口(SCSI)、串行连接SCSI(SAS)、***组件互连(PCI)和/或高速PCI(PCI-e)协议。
第一内核210可以包括微控制单元(MCU)和中央处理单元(CPU)。
第一内核210可以接收从主机传输的命令,并将接收到的命令提供给第二内核230。例如,第一内核210可以使从主机接收的命令在存储器220的命令队列(未示出)中排队,并且向第二内核230提供指示命令被排队的信息;然而,本公开不特别限于此。
第一内核210可以将从主机接收的数据(例如,写入数据)存储在存储器220的写入缓冲器(未示出)中。此外,第一内核210可以将在存储器220的读取缓冲器(未示出)中存储的数据(例如,读取数据)传输到主机。
第一内核210可以将在存储器220的映射加载缓冲器222中存储的、待上传的映射数据划分为多个映射单元。第一内核210可以从第一映射单元到最后映射单元顺序地对多个被划分后的映射单元进行编码,并将已被编码的映射单元存储在映射上传缓冲器223中。
第一内核210可以向数据传输电路240传输控制信号,以将存储在映射上传缓冲器223中的已被编码的映射单元传输到主机。例如,第一内核210可以向数据传输电路240传输用于将存储在映射上传缓冲器223中的已被编码的第一映射单元传输到主机的控制信号,并且同时从映射加载缓冲器222读取下一映射单元,即第二映射单元,并对第二映射单元进行编码。即,根据实施例的存储装置10的控制器200可以同时或在相同时间段内执行将先前已被编码的映射单元传输到主机的操作和对下一映射单元进行编码的操作。这将在下面参照图5更详细地描述。
存储器220可以被配置为随机存取存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM);然而,本公开不特别限于此。尽管图1示出存储器220包括在控制器200中,但是在另一实施例中,存储器220可以设置在控制器200外部并且可操作地联接到控制器200。
存储器220可以物理连接和电连接到第一内核210和第二内核230。存储器220可以存储由第二内核230执行的固件。此外,存储器220可以存储用于执行固件的数据,例如元数据。也就是说,存储器220可以作为第二内核230的工作存储器来操作。
此外,存储器220可以被配置为包括用于临时存储待从主机传输到非易失性存储器100的写入数据和待从非易失性存储器100传输到主机的读取数据的缓冲器,即,写入缓冲器和读取缓冲器。也就是说,存储器220可以作为缓冲存储器来操作。下面参照图4详细描述存储器220的内部结构。
第二内核230可以通过执行被加载在存储器220中的固件或软件来控制存储装置10的全部操作。第二内核230可以解密并执行代码类型指令或算法,诸如固件或软件。因此,第二内核230也可以被称为闪存转换层(FTL)内核。第二内核230可以包括微控制单元(MCU)和中央处理单元(CPU)。
第二内核230可以基于第一内核210提供的命令生成用于控制非易失性存储器100的操作的控制信号,并且将所生成的控制信号提供给非易失性存储器100。控制信号可以包括用于控制非易失性存储器100的命令、地址、操作控制信号等。第二内核230可以向非易失性存储器100提供被临时存储在存储器220中的写入数据,或者将从非易失性存储器100接收的读取数据存储在存储器220中。
数据传输电路240可以根据第一内核210提供的控制信号来操作。例如,数据传输电路240可以根据从第一内核210接收的控制信号将从主机接收的写入数据存储在存储器220的写入缓冲器中。此外,数据传输电路240可以根据从第一内核210接收的控制信号读取被存储在存储器220的读取缓冲器中的读取数据,并且将读取数据传输到主机。此外,数据传输电路240可以根据从第一内核210接收的控制信号将被存储在存储器220中的映射数据(例如,已被编码的映射单元)传输到主机。
图4是示出图1的存储器220的图。
参照图4,根据实施例的存储器220可以被划分为第一区域和第二区域;然而,本公开不特别限于此。例如,存储器220的第一区域可以存储由第二内核230解译和执行的软件(或固件)以及当第二内核230执行计算和处理操作时使用的元数据等。此外,存储器220的第一区域可以存储从主机接收的命令。
例如,存储在存储器220的第一区域中的软件可以是闪存转换层(FTL)。闪存转换层(FTL)可由第二内核230执行,并且第二内核230可以执行闪存转换层(FTL)以控制非易失性存储器100的特有操作,并且为主机提供装置兼容性。通过执行闪存转换层(FTL),主机可以将存储装置10识别并使用为诸如硬盘的通用存储装置。
闪存转换层(FTL)可以被存储在非易失性存储器100的***区域(未示出)中,并且当存储装置10通电时,可以从非易失性存储器100的***区域读取闪存转换层(FTL)并将闪存转换层(FTL)加载在存储器220的第一区域中。此外,已被加载在存储器220的第一区域中的闪存转换层(FTL)也可以被加载在第二内核230的专用存储器(未示出)中,该专用存储器单独地设置在第二内核230内或作为第二内核230的一部分。
闪存转换层(FTL)可以包括用于执行各种功能的模块。例如,闪存转换层(FTL)可以包括读取模块、写入模块、垃圾收集模块、损耗均衡模块、坏块管理模块、映射模块等;然而,本公开不特别限于此。例如,包括在闪存转换层(FTL)中的模块中的每一个可以由用于执行特定操作(或功能)的一组源代码组成。
映射模块可以控制非易失性存储器100和存储器220以执行与映射数据相关的操作。与映射数据相关的操作可以包括映射更新操作、映射高速缓存操作和映射上传操作;然而,本公开不特别限于此。
映射更新操作可以包括将存储在地址映射表(见图3)中的L2P条目的物理地址改变为指示与相应逻辑地址相关的数据被新存储的位置的物理地址,并且将具有改变后的物理地址的L2P条目存储在非易失性存储器100中。
映射高速缓存操作可以包括从非易失性存储器100读取映射段,该映射段包括与连同读取命令一起从主机接收的逻辑地址相对应的L2P条目,并且将映射段存储在存储器220的映射高速缓存缓冲器(未示出)中。可以对频繁请求被读取的逻辑地址和最近请求被读取的逻辑地址执行映射高速缓存操作。
映射上传操作可以包括从非易失性存储器100读取待上传的映射数据并且将映射数据传输到主机。可以基于映射段执行从非易失性存储器100读取待上传的映射数据的操作,并且可以基于映射单元执行将待上传的映射数据传输到主机的操作。映射上传操作可以进一步包括对待上传的映射数据进行编码。可以基于映射单元执行对待上传的映射数据进行编码的操作。
例如,第二内核230可以响应于从主机接收的映射读取命令,从非易失性存储器100读取待上传的映射数据,将待上传的映射数据存储在存储器220的映射加载缓冲器222中,并向第一内核210传输指示映射数据已经加载完成的信息。
第一内核210可以将存储在映射加载缓冲器222中的待上传的映射数据划分为多个映射单元,顺序地对多个映射单元进行编码,将已被编码的映射单元存储在映射上传缓冲器223中,并向数据传输电路240提供用于传输已被编码的映射单元的控制信号。例如,第一内核210可以将相应的元信息和循环冗余校验(CRC)值添加到多个映射单元中的每一个,并且对映射单元进行随机化和编码;然而,映射单元的编码方法不特别限于此。
存储器220的第一区域可以包括元区域,在该元区域中存储用于驱动包括在闪存转换层(FTL)中的各种模块的元数据。参照图5和图6更详细地描述存储器220的第二区域内的映射加载缓冲器222和映射上传缓冲器223。
图5是示出根据实施例的向主机上传映射数据的操作的图。响应于从主机接收的映射读取命令来执行这种操作。映射读取命令可包括关于与待上传的映射数据相对应的子区域的信息,并且第二内核230可基于包括在映射读取命令中的信息来确定待上传的映射数据。
参照图5,第二内核230可以从非易失性存储器100读取待上传的映射数据(在图中表示为“读取待上传的映射数据”),并且将待上传的映射数据存储在存储器220的映射加载缓冲器222中。此外,第二内核230可以向第一内核210提供指示待上传的映射数据已经存储在映射加载缓冲器222中的信息(图中的“通知待上传的映射数据存储完成”)。
第一内核210可以将存储在映射加载缓冲器222中的待上传的映射数据划分成多个映射单元(图中的“将待上传的映射数据划分为多个映射单元”),并顺序地读取和编码第一映射单元至最后映射单元(图中的“从第一映射单元开始顺序地编码多个映射单元”)。此外,第一内核210可以将已被编码的第一映射单元至已被编码的最后映射单元顺序地存储在映射上传缓冲器223中(图中的“存储已被编码的映射单元”)。此外,第一内核210可以向数据传输电路240传输控制信号(图中的“指示传输已被编码的映射单元”),使得每当完成将已被编码映射单元中的每一个存储到映射上传缓冲器223中时,已被编码的第一映射单元至已被编码的最后映射单元被顺序地传输。
图6是示出根据实施例的同时执行映射单元的编码和已被编码的映射单元的传输的图。未被编码的映射单元由“a”至“h”表示,已被编码的映射单元由“A”表示。
参照图6,第一内核210可以从映射加载缓冲器222读取并编码第一映射单元“a”(①)。然后,第一内核210可以将已被编码的第一映射单元“A”存储在映射上传缓冲器223中(②)。然后,第一内核210可以向数据传输电路240传输控制信号(③)。控制信号可以用于从映射上传缓冲器223读取已被编码的第一映射单元“A”并将所读取的第一映射单元“A”传输到主机。
数据传输电路240可根据从第一内核210接收的控制信号从映射上传缓冲器223读取已被编码的第一映射单元“A”,并且将所读取的第一映射单元“A”传输到主机(④)。同时,第一内核210可以从映射加载缓冲器222读取并编码第二映射单元“b”(④)。可以重复执行操作“①”至“④”直到完成存储在映射加载缓冲器222中的多个映射单元中的最后一个映射单元的编码和传输。
在多个映射单元之中,同时执行先前已被编码的映射单元到主机的传输和当前映射单元的编码,从而可以缩短对待上传的映射数据进行编码所花费的时间。结果,也可以缩短将已被编码的映射数据上传到主机所花费的时间,并且随着映射数据的上传时间被缩短,可以减少读取命令的处理延迟以提高读取性能。
图7是示出根据实施例的存储装置的操作方法的流程图。主要参照图7,其次参照其它附图描述存储装置的操作方法。尽管图7中未示出,但是假设已经从主机接收到映射读取命令。
在操作S21,控制器200的第二内核230可从非易失性存储器100读取待上传的映射数据,并且将待上传的映射数据存储在存储器220的映射加载缓冲器222中。此外,第二内核230可以向第一内核210提供指示已经完成了待上传的映射数据的存储的信息。
在操作S22,控制器200的第一内核210可将存储在映射加载缓冲器222中的待上传的映射数据划分为多个映射单元。
在操作S23,第一内核210可从映射加载缓冲器222自第一映射单元开始顺序地读取多个映射单元并对多个映射单元进行编码,并且将已被编码的映射单元存储在存储器220的映射上传缓冲器223中。
在操作S24,第一内核210可向数据传输电路240提供控制信号(例如,用于将已被编码的映射单元传输到主机的控制信号),并且数据传输电路240可根据控制信号从映射上传缓冲器223读取已被编码的映射单元,并且将所读取的映射单元传输到主机。
在操作S25,第一内核210可确定是否已经完成了对最后映射单元的编码。当完成了对最后映射单元的编码时,该处理可以结束。然而,当没有完成最后映射单元的编码时,该处理可进行到操作S26。
在操作S26,第一内核210可从映射加载缓冲器222读取下一映射单元并对下一映射单元进行编码,并且将已被编码的下一映射单元存储在映射上传缓冲器223中。
在这种情况下,如图6所示,可同时(或重叠地)执行操作S24和操作S26,在操作S24中,数据传输电路240从映射上传缓冲器223读取已被编码的映射单元,并且将所读取的映射单元传输到主机,在操作S26中,第一内核210从映射加载缓冲器222读取下一映射单元并对下一映射单元进行编码。
图8示出根据实施例的包括固态驱动器(SSD)的数据处理***。参照图8,数据处理***2000可以包括主机设备2100和SSD 2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和电源连接器2260。
控制器2210可控制SSD 2200的全部操作。
缓冲存储器装置2220可以临时存储待被存储在非易失性存储器装置2231至223n中的数据。缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读取的数据。根据控制器2210的控制,临时存储在缓冲存储器装置2220中的数据可以被传输至主机设备2100或非易失性存储器装置2231至223n。
非易失性存储器装置2231至223n可以用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以分别通过多个通道CH1至CHn联接至控制器2210。在另一实施例中,一个以上的非易失性存储器装置可以联接至相同通道。联接至相同通道的非易失性存储器装置可以联接至相同的信号总线和相同的数据总线。
电源2240可将通过电源连接器2260输入的电力PWR提供到SSD 2200的内部。电源2240可以包括辅助电源2241。辅助电源2241可以供应电力,使得即使在发生突然断电时,SSD 2200也可以正常终止。辅助电源2241可以包括能够对电力PWR进行充电的大容量电容器。
控制器2210可以通过信号连接器2250与主机设备2100交换信号SGL。信号SGL可包含命令、地址、数据等。根据主机设备2100和SSD 2200之间的接口连接方法,信号连接器2250可以被配置为各种类型的连接器中的任意一种。
图9示出图8的控制器2210。参照图9,控制器2210可包括主机接口2211、控制组件2212、随机存取存储器(RAM)2213、错误校正码(ECC)组件2214和存储器接口2215。
主机接口2211可根据主机设备2100的协议执行主机设备2100和SSD 2200之间的接口连接。例如,主机接口2211可以通过以下中的任意一种来与主机设备2100通信:安全数字协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、嵌入式MMC(eMMC)协议、个人计算机存储卡国际协会(PCMCIA)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机***接口(SCSI)协议、串行连接SCSI(SAS)协议、***组件互连(PCI)协议、高速PCI(PCI-E)协议以及通用闪存(UFS)协议。主机接口2211可执行磁盘仿真功能,即主机设备2100将SSD 2200识别为通用数据存储设备,例如硬盘驱动器HDD。
控制组件2212可以分析和处理从主机设备2100输入的信号SGL。控制组件2212可以根据用于驱动SDD 2200的固件和/或软件来控制内部功能块的操作。RAM 2213可以作为用于驱动固件或软件的工作存储器来操作。
ECC组件2214可生成待传送至非易失性存储器装置2231至223n的数据的奇偶校验数据。奇偶校验数据可以与数据一起存储在非易失性存储器装置2231至223n中。ECC组件2214可基于奇偶校验数据检测从非易失性存储器装置2231至223n读取的数据中的错误。当所检测到的错误在可校正范围内时,ECC组件2214可校正所检测到的错误。
存储器接口2215可以根据控制组件2212的控制向非易失性存储器装置2231至223n提供诸如命令和地址的控制信号。存储器接口2215可以根据控制组件2212的控制与非易失性存储器装置2231至223n交换数据。例如,存储器接口2215可以将存储在缓冲存储器装置2220中的数据提供给非易失性存储器装置2231至223n,或者将从非易失性存储器装置2231至223n读取的数据提供给缓冲存储器装置2220。
图10示出根据实施例的包括数据存储设备的数据处理***。参照图10,数据处理***3000可以包括主机设备3100和数据存储设备3200。
主机设备3100可以以诸如印刷电路板(PCB)的板形式来配置。尽管未在图10中示出,但是主机设备3100可以包括被配置为执行主机设备3100的功能的内部功能块。
主机设备3100可以包括诸如插座、插槽或连接器的连接端子3110。数据存储设备3200可以安装在连接端子3110上。
数据存储设备3200可以以诸如PCB的板形式来配置。数据存储设备3200可以指存储器模块或存储卡。数据存储设备3200可以包括控制器3210、缓冲存储器3220、非易失性存储器3231至3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制数据存储设备3200的全部操作。控制器3210可以与图9中所示的控制器2210相同地配置。
缓冲存储器3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。缓冲存储器3220可以临时存储从非易失性存储器装置3231和3232读取的数据。根据控制器3210的控制,临时存储在缓冲存储器3220中的数据可以被传输到主机设备3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作数据存储设备3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供到数据存储设备3200的内部。PMIC 3240可以根据控制器3210的控制来管理数据存储设备3200的电力。
连接端子3250可以联接至主机设备3100的连接端子3110。可以通过连接端子3250在主机设备3100和数据存储设备3200之间传输诸如命令、地址和数据的信号以及电力。根据主机设备3100和数据存储设备3200之间的接口连接方法,连接端子3250可以被配置成各种形式中的任意一种。连接端子3250可以布置在数据存储设备3200中或布置在数据存储设备3200的任意一侧。
图11示出根据实施例的包括数据存储设备的数据处理***。参照图11,数据处理***4000可以包括主机设备4100和数据存储设备4200。
主机设备4100可以被配置为诸如PCB的板形式。尽管未在图11中示出,但是主机设备4100可以包括被配置成执行主机设备4100的功能的内部功能块。
数据存储设备4200可以以表面安装封装形式来配置。数据存储设备4200可以通过焊球4250安装在主机设备4100上。数据存储设备4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制数据存储设备4200的全部操作。控制器4210可以被配置成具有与图9所示的控制器2210相同的配置。
缓冲存储器装置4220可以临时存储待存储在非易失性存储器装置4230中的数据。缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。通过控制器4210的控制,临时存储在缓冲存储器装置4220中的数据可以被传输到主机设备4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作数据存储设备4200的存储介质。
图12示出根据实施例的包括数据存储设备的网络***5000。参照图12,网络***5000可以包括通过网络5500联接的服务器***5300和多个客户端***5410至5430。
服务器***5300可以响应于多个客户端***5410至5430的请求而服务数据。例如,服务器***5300可以存储从多个客户端***5410至5430提供的数据。在另一示例中,服务器***5300可向多个客户端***5410至5430提供数据。
服务器***5300可以包括主机设备5100和数据存储设备5200。数据存储设备5200可以被配置为图1的存储装置10、图8的SSD 2200、图10的数据存储设备3200或图11的数据存储设备4200。
图13示出根据实施例的包括在数据存储设备中的非易失性存储器装置。参照图13,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、列解码器340、数据读取/写入块330、电压生成器350和控制逻辑360。
存储器单元阵列310可以包括布置在字线WL1至WLm和位线BL1至BLn彼此交叉的区域中的存储器单元MC。
行解码器320可以通过字线WL1至WLm联接至存储器单元阵列310。行解码器320可以通过控制逻辑360的控制来操作。行解码器320可以对从外部设备(未示出)提供的地址进行解码。行解码器320可以基于解码结果选择并驱动字线WL1至WLm。例如,行解码器320可以将从电压生成器350提供的字线电压提供给字线WL1至WLm。
数据读取/写入块330可通过位线BL1至BLn联接至存储器单元阵列310。数据读取/写入块330可包括与位线BL1至BLn相对应的读取/写入电路RW1至RWn。数据读取/写入块330可根据控制逻辑360的控制而操作。数据读取/写入块330可根据操作模式作为写入驱动器或读出放大器操作。例如,在写入操作中,数据读取/写入块330可以作为写入驱动器操作,该写入驱动器被配置为将从外部设备提供的数据存储在存储器单元阵列310中。再例如,在读取操作中,数据读取/写入块330可作为读出放大器而操作,该读出放大器被配置为从存储器单元阵列310读取数据。
列解码器340可通过控制逻辑360的控制而操作。列解码器340可以对从外部设备(未示出)提供的地址进行解码。列解码器340可以基于解码结果将数据读取/写入块330的与位线BL1至BLn相对应的读取/写入电路RW1至RWn和数据输入/输出(I/O)线(或数据I/O缓冲器)联接。
电压生成器350可生成用于非易失性存储器装置300的内部操作的电压。通过电压生成器350生成的电压可以被施加到存储器单元阵列310的存储器单元。例如,在编程操作中生成的编程电压可以被施加到待执行编程操作的存储器单元的字线。再例如,在擦除操作中生成的擦除电压可被施加到待执行擦除操作的存储器单元的阱区。又例如,在读取操作中生成的读取电压可被施加到待执行读取操作的存储器单元的字线。
控制逻辑360可以基于从外部设备提供的控制信号来控制非易失性存储器装置300的全部操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,例如非易失性存储器装置300的读取操作、写入操作和擦除操作。
尽管上文已说明和描述了各种实施例,但所属领域的技术人员将理解,所公开的实施例仅为实例,并且可做出与本文的教导一致的任何此类实施例的各种修改。因此,本发明不受任何公开的实施例的限制。相反,本发明涵盖落入权利要求的范围内的所有变型。
Claims (12)
1.一种存储装置,包括:
非易失性存储器,存储映射数据;以及
控制器,读取所述映射数据之中待上传的映射数据,将所述待上传的映射数据划分为多个映射单元,顺序地对所述多个映射单元进行编码,并且将已被编码的映射单元传输到主机,
其中,所述控制器在将先前已被编码的映射单元传输到所述主机的同时对下一映射单元进行编码。
2.根据权利要求1所述的存储装置,进一步包括:
易失性存储器,
其中,所述易失性存储器包括第一缓冲器和第二缓冲器,所述第一缓冲器从所述非易失性存储器读取并存储所述待上传的映射数据,所述第二缓冲器存储所述已被编码的映射单元。
3.根据权利要求2所述的存储装置,其中,所述控制器将存储在所述第一缓冲器中的所述待上传的映射数据划分为所述多个映射单元,自第一映射单元开始从所述第一缓冲器顺序地读取所述多个映射单元并对所述多个映射单元进行编码,并且将已被编码的映射单元存储在第二缓冲器中。
4.根据权利要求2所述的存储装置,进一步包括:数据传输电路,根据所述控制器的控制从所述第二缓冲器读取所述已被编码的映射单元,并且将所读取的映射单元传输到所述主机。
5.一种存储装置的操作方法,所述操作方法包括:
从非易失性存储器读取映射数据之中待上传的映射数据;
将所述待上传的映射数据划分为多个映射单元;以及
顺序地对所述多个映射单元进行编码,并且将已被编码的映射单元传输到主机,
其中,进行编码和传输包括:在将先前已被编码的映射单元传输到所述主机的同时对下一映射单元进行编码。
6.根据权利要求5所述的操作方法,其中,读取所述待上传的映射数据包括:将所述待上传的映射数据存储在映射加载缓冲器中。
7.根据权利要求6所述的操作方法,其中,所述多个映射单元的编码和传输包括:
从所述映射加载缓冲器读取映射单元并对所述映射单元进行编码;
将已被编码的映射单元存储在映射上传缓冲器中;以及
从所述映射上传缓冲器读取所述已被编码的映射单元,并且将所读取的映射单元传输到所述主机。
8.根据权利要求7所述的操作方法,进一步包括:确定是否已经完成对所述多个映射单元中最后映射单元的编码。
9.根据权利要求8所述的操作方法,进一步包括,当尚未完成对所述最后映射单元的编码时:
从所述映射加载缓冲器读取后续映射单元并对后续映射单元进行编码;
将已被编码的后续映射单元存储在所述映射上传缓冲器中;以及
从所述映射上传缓冲器读取所述已被编码的后续映射单元,并且将所述已被编码的后续映射单元传输到所述主机。
10.根据权利要求9所述的操作方法,其中,同时执行从所述映射上传缓冲器读取所述已被编码的后续映射单元并且将所述已被编码的后续映射单元传输到所述主机的步骤,以及从所述映射加载缓冲器读取并编码跟随所述已被编码的后续映射单元之后的映射单元的步骤。
11.一种控制器,包括:
第一内核,用作与主机的接口;
存储器,包括第一缓冲器和大于所述第一缓冲器的第二缓冲器;以及
第二内核,读取存储在非易失性存储器中的映射数据之中待上传的映射数据,并且将所读取的所述待上传的映射数据存储在所述第一缓冲器中,
其中,所述第一内核进一步:将存储在所述第一缓冲器中的所述待上传的映射数据划分为多个映射单元,顺序地对所述多个映射单元进行编码,将已被编码的映射单元存储在所述第二缓冲器中,并且将所述已被编码的映射单元从所述第二缓冲器传输到所述主机,以及
其中,所述第一内核在将先前已被编码的映射单元传输到所述主机的同时对下一映射单元进行编码。
12.根据权利要求11所述的控制器,进一步包括:数据传输电路,根据所述第一内核的控制,读取存储在所述第二缓冲器中的所述已被编码的映射单元,并将所读取的映射单元传输到所述主机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0073643 | 2020-06-17 | ||
KR1020200073643A KR20210156010A (ko) | 2020-06-17 | 2020-06-17 | 저장 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113806241A true CN113806241A (zh) | 2021-12-17 |
Family
ID=78892871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110229367.0A Withdrawn CN113806241A (zh) | 2020-06-17 | 2021-03-02 | 存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210397364A1 (zh) |
KR (1) | KR20210156010A (zh) |
CN (1) | CN113806241A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220049842A (ko) * | 2020-10-15 | 2022-04-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US12010029B2 (en) * | 2020-11-10 | 2024-06-11 | Qualcomm Incorporated | Techniques for prioritizing service flow to maintain quality of service |
-
2020
- 2020-06-17 KR KR1020200073643A patent/KR20210156010A/ko unknown
-
2021
- 2021-01-27 US US17/159,976 patent/US20210397364A1/en not_active Abandoned
- 2021-03-02 CN CN202110229367.0A patent/CN113806241A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20210397364A1 (en) | 2021-12-23 |
KR20210156010A (ko) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10664409B2 (en) | Data storage apparatus utilizing sequential map entry for responding to read request and operating method thereof | |
US10789161B2 (en) | Data storage device to identify and process a sequential read request and operating method thereof | |
US11216362B2 (en) | Data storage device and operating method thereof | |
CN111506516B (zh) | 数据存储装置及数据存储装置的操作方法 | |
US10877887B2 (en) | Data storage device and operating method thereof | |
US11068206B2 (en) | Data storage device for processing a sequential unmap entry by using trim instruction data and operating method thereof | |
US10769066B2 (en) | Nonvolatile memory device, data storage device including the same and operating method thereof | |
US10838854B2 (en) | Data storage device and operating method thereof | |
CN111414313B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN110837342A (zh) | 数据存储装置及其操作方法 | |
CN111831579A (zh) | 控制器及其操作方法和包括控制器的存储器*** | |
CN111124273A (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN111752852A (zh) | 数据存储装置及数据存储装置的操作方法 | |
US20210397364A1 (en) | Storage device and operating method thereof | |
US10599581B2 (en) | Data storage device and operating method thereof | |
US11782638B2 (en) | Storage device with improved read latency and operating method thereof | |
US11281590B2 (en) | Controller, operating method thereof and storage device including the same | |
US20210397558A1 (en) | Storage device and operating method thereof | |
CN112286444B (zh) | 控制器以及包括控制器的存储器*** | |
CN110795366B (zh) | 数据存储装置及数据存储装置的操作方法 | |
US10719270B2 (en) | Raising usage rates of memory blocks with a free MSB page list | |
US10572155B2 (en) | Data storage device 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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211217 |