CN109426453A - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN109426453A CN109426453A CN201810879838.0A CN201810879838A CN109426453A CN 109426453 A CN109426453 A CN 109426453A CN 201810879838 A CN201810879838 A CN 201810879838A CN 109426453 A CN109426453 A CN 109426453A
- Authority
- CN
- China
- Prior art keywords
- cpu
- data
- buffer
- volatile memory
- data buffer
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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
- 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/0658—Controller construction arrangements
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种数据存储装置,其包括非易失性存储器装置和控制非易失性存储器装置的操作的控制器。控制器包括:易失性存储器,包括存储第一数据缓冲器的第一索引信息的第一索引存储单元以及存储第二数据缓冲器的第二索引信息的第二索引存储单元;第一中央处理单元(CPU),通过访问易失性存储器的第一索引存储单元执行第一数据缓冲器的分配和分配的释放;以及第二CPU,通过访问易失性存储器的第二索引存储单元执行第二数据缓冲器的分配和分配的释放。
Description
相关申请的交叉引用
本申请基于2017年8月28日提交的申请号为10-2017-0108565的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种半导体装置。特别地,本公开的示例性实施例涉及一种数据存储装置及其操作方法。
背景技术
近年来,计算机环境的范例已经改变为允许用户随时随地访问计算机系统的普适计算环境。由于该原因,诸如蜂窝电话、数码相机和笔记本电脑等的便携式电子装置的使用快速增长。便携式电子装置可以包括使用存储器装置的数据存储装置。数据存储装置可以被用于存储在便携式电子装置中使用的数据。
由于数据存储装置不包括机械驱动元件,因此使用存储器装置的数据存储装置可以具有优良的稳定性和耐久性。并且,数据存储装置的优点在于它可以快速访问数据并消耗少量的功率。数据存储装置的示例包括但不限于通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪速存储(UFS)装置、固态驱动器(SSD)等。
发明内容
实施例被提供给具有改进的操作速度的数据存储装置及其操作方法。
在本公开的实施例中,数据存储装置包括:非易失性存储器装置;以及控制器,控制非易失性存储器装置的操作。控制器包括:易失性存储器,其包括其中存储第一数据缓冲器的第一索引信息的第一索引存储单元以及其中存储第二数据缓冲器的第二索引信息的第二索引存储单元;第一中央处理单元(CPU),通过访问易失性存储器的第一索引存储单元来执行第一数据缓冲器的分配和分配的释放;以及第二CPU,通过访问易失性存储器的第二索引存储单元来执行第二数据缓冲器的分配和分配的释放。
在本公开的实施例中,一种操作数据存储装置的方法,该数据存储装置包括非易失性存储器装置,控制器包括包含第一索引存储单元和第二索引存储单元的易失性存储器、第一中央处理单元(CPU)以及第二CPU,该方法包括:由第一CPU从主机装置接收写入请求和写入数据;由第一CPU通过访问易失性存储器的第一索引存储单元来分配多个第一数据缓冲器中的至少一个第一数据缓冲器;由第一CPU将写入数据存储在分配的第一数据缓冲器中;以及由第一CPU将对应于分配的第一数据缓冲器的第一索引信息提供给第二CPU。
以下在标题为“具体实施方式”的部分中描述这些和其它特征、方面和实施例。
附图说明
从以下结合附图的详细描述中将更清楚地理解本公开的主题的上述和其它方面、特征及优点,其中:
图1是示出根据本公开的实施例的数据存储装置的框图;
图2是示出图1的控制器的示例性配置的框图;
图3是示出图2的易失性存储器的示例性配置的示图;
图4是示出根据本公开的实施例的存储在易失性存储器中的索引信息与缓冲存储器的数据缓冲器之间的关系的示图;
图5是示出通过根据本公开的实施例的控制器在写入操作中分配缓冲器和释放缓冲器的分配的进程的示图;
图6是示出通过根据本公开的实施例的控制器在读取操作中分配缓冲器和释放缓冲器的分配的进程的示图;
图7是示出根据本公开的实施例的包括固态驱动器(SSD)的数据处理系统的示例的图;
图8是示出图7所示的控制器的示例的示图;
图9是示出包括根据本公开的实施例的数据存储装置的数据处理系统的示例的示图;
图10是示出包括根据本公开的实施例的数据存储装置的数据处理系统的示例的示图;
图11是示出包括根据本公开的实施例的数据存储装置的网络系统的示例的示图;以及
图12是示出包括在根据本公开的实施例的数据存储装置中的非易失性存储器装置的示例的框图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,应注意的是,本发明可以以不同的其它实施例、形式和变化实施,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完整的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各种元件,但是这些元件不受这些术语限制。这些术语被用于区分一个元件与另一元件。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
当短语“......和......中的至少一个”在本文中与项目列表一起使用时,是指列表中的单个项目或列表中项目的任何组合。例如,“A、B和C中的至少一个”是指只有A、或只有B、或只有C、或A、B和C的任何组合。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。当元件被称为连接或联接到另一元件时,应当理解的是,前者可以直接地连接或联接到后者,或经由其间的中间元件电连接或电联接到后者。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。
如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。
也注意的是,在一些情况下,对相关领域的技术人员显而易见的是,结合一个实施例描述的也可被称为特征的元件可单独使用或与另一实施例的其它元件结合使用,除非另有明确说明。
将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中限定的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地限定。
在以下描述中,为了提供本发明的全面理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了不使本发明不必要模糊,未详细地描述公知的进程结构和/或进程。
本文参照本发明的理想化实施例的截面图和/或平面图来描述本发明。然而,本发明的实施例不应当被解释为限制本发明构思。虽然将示出和描述本发明的少数实施例,但是本领域普通技术人员将理解,在不脱离本发明的原理和精神的情况下,可以在这些实施例中进行改变。
在下文中,将参照附图详细地描述本发明的各个实施例。
图1是示出根据实施例的数据存储装置的框图,图2是示出图1的控制器200的示例性配置的框图,图3是示出图2的易失性存储器的示例性配置的示图,并且图4是示出根据实施例的存储在易失性存储器中的索引信息与缓冲存储器的数据缓冲器之间的关系的示图。
参照图1,根据实施例的数据存储装置10可以执行存储器操作,其响应于诸如移动电话、MP3播放器、便携式计算机、台式计算机、游戏机、电视(TV)、车载信息娱乐系统等的主机装置(未示出)的访问请求来写入或读取数据。数据存储装置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)和使用过渡金属化合物的电阻式随机存取存储器(RRAM或ReRAM)。
虽然为了清楚起见已经在图1中示出数据存储装置10包括一个非易失性存储器装置100,但是数据存储装置10可以包括多个非易失性存储器装置。在实施例中包括一个非易失性存储器装置的数据存储装置10可以同样地应用于包括多个非易失性存储器装置的数据存储装置10。
非易失性存储器装置100可以包括存储器单元阵列(未示出),存储器单元阵列包含布置在多个位线(未示出)和多个字线(未示出)彼此交叉的区域中的多个存储器单元。存储器单元阵列中的存储器单元中的每一个可以是存储单位数据(例如,1位数据)的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据的三层单元(TLC)以及存储4位数据的四层单元QLC中的至少一种。存储器单元阵列可以包括SLC、MLC、TLC和QLC中的至少一种。例如,存储器单元阵列可以包括具有二维(2D)水平结构的存储器单元或具有3D垂直结构的存储器单元。
控制器200可以通过驱动固件或软件来控制数据存储装置10的全部操作。控制器200可以解码和驱动诸如固件或软件的代码类型指令或算法。控制器200可以被实施为硬件或硬件和软件的组合。
参照图2,控制器200可以包括主机接口(I/F)210、主机中央处理单元(CPU)220、缓冲存储器230、易失性存储器240、闪存转换层(FTL)CPU 250和存储器接口(I/F)260。
主机接口210可以响应于主机装置的协议在主机装置(未示出)和数据存储装置10之间执行接口连接。例如,主机接口单元210可以通过例如以下任意一种协议与主机装置通信:USB协议、UFS、MMC协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议、串列SISI(SAS)协议、PCI协议和PCI-e协议。
主机CPU 220可以处理与主机装置(未示出)接口连接相关的全部操作。例如,主机CPU 220可以向FTL CPU 250提供诸如通过主机接口210从主机装置接收的写入请求和读取请求以及逻辑块地址(LBA)的请求RQ。
主机CPU 220可以分配缓冲存储器230的数据缓冲器,并且将从主机装置接收的数据DATA临时存储在分配的数据缓冲器中。当从主机装置接收的数据DATA被存储在非易失性存储器装置100中时,主机CPU220可以释放数据缓冲器的分配。主机CPU 220可以将读取数据传送到主机装置,读取数据临时存储在对应于从FTL CPU 250提供的索引信息的数据缓冲器中。
缓冲存储器230可以暂时存储待从主机装置传送到非易失性存储器装置100的写入数据或待从非易失性存储器装置100读取到主机装置的读取数据。缓冲存储器230可以包括但不限于缓存存储器、只读存储器(ROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、相变随机存取存储器(PRAM)、闪速存储器、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。如图4所示,缓冲存储器230可以包括多个数据缓冲器DBH11至DBHmn和DBF11至DBFmn。
易失性存储器240可以由诸如DRAM或SRAM的随机存取存储器(RAM)配置。可以通过主机CPU 220和/或FTL CPU 250访问易失性存储器240。
参照图3,易失性存储器240可以包括索引存储单元241和缓冲器释放队列245,索引存储单元241存储用于缓冲存储器230的数据缓冲器的索引信息,缓冲器释放队列245排队从主机CPU 220和FTL 250传送的操作完成信号ODS。在图3中已经示出仅索引存储单元241和缓冲器释放队列245被包括在易失性存储器240中,但是不限于此。
易失性存储器240可以被划分为主机CPU 220的专用访问区域和FTL CPU 250的专用访问区域。例如,易失性存储器240的索引存储单元241可以包括可以通过主机CPU 220访问的第一索引存储单元HR和可以通过FTL CPU 250访问的第二索引存储单元FR。主机CPU220可以仅访问易失性存储器240的第一索引存储单元HR,并且FTL CPU 250可以仅访问易失性存储器240的第二索引存储单元FR。第一索引存储单元HR和第二索引存储单元FR可以在逻辑上划分,但是第一索引存储单元HR和第二索引存储单元FR可以不在物理上划分。
如图4所示,指示对应于第一索引存储单元HR的缓冲存储器230的数据缓冲器的索引信息IH11至IHmn可以被存储在第一索引存储单元HR中,并且指示对应于第二索引存储单元FR的缓冲存储器230的数据缓冲器的索引信息IF11至IFmn可以被存储在第二索引存储单元FR中。例如,存储在第一索引存储单元HR中的索引信息IH11至IHmn中的索引信息IH11可以是指示包括在缓冲存储器230中的多个数据缓冲器DBH11至DBHmn和DBF11至DBFmn中的数据缓冲器DBH11的索引信息。
包括在缓冲存储器230中的多个数据缓冲器DBH11至DBHmn和DBF11至DBFmn可以被划分为写入数据缓冲器DBH11至DBHmn和读取数据缓冲器DBF11至DBFmn。在写入数据缓冲器DBH11至DBHmn中,临时存储待从主机装置传送到非易失性存储器装置100的写入数据,但是本实施例不限于此。在读取数据缓冲器DBF11至DBFmn中,临时存储待从非易失性存储器装置100传送到主机装置的读取数据,但是本实施例不限于此。写入数据缓冲器DBH11至DBHmn和读取数据缓冲器DBF11至DBFmn也可以在逻辑上划分,但是写入数据缓冲器DBH11至DBHmn和读取数据缓冲器DBF11至DBFmn可以不在物理上划分。
为了清楚起见,已经在图4中示出存储在第一索引存储单元HR中的第一索引信息IH11至IHmn可以分别对应于缓冲存储器230的写入数据缓冲器DBH11至DBHmn,并且存储在第二索引存储单元FR中的第二索引信息IF11至IFmn可以分别对应于缓冲存储器230的读取数据缓冲器DBF11至DBFmn。然而,本实施例不限于此。例如,第一索引信息IH11至IHmn和第二索引信息IF11至IFmn可以不是分别一一对应于写入数据缓冲器DBH11至DBHmn和读取数据缓冲器DBF11至DBFmn。
再次参照图3,易失性存储器240的缓冲释放队列245可以包括主机缓冲器释放队列HBRQ和FTL缓冲器释放队列FBRQ。
主机缓冲器释放队列HBRQ可以排队从FTL CPU 250传送的操作完成信号ODS,并且将排队的操作完成信号ODS提供给主机CPU 220。FTL缓冲器释放队列FBRQ可以排队从主机CPU 220传送的操作完成信号ODS,并且将排队的操作完成信号ODS提供给FTL CPU 250。主机缓冲器释放队列HBRQ和FTL缓冲器释放队列FBRQ可以配置为环形队列,但是本实施例不限于此。环形队列的详细结构和操作是现有技术中的已知技术,因此将省略其详细描述。
在实施例中,操作完成信号ODS可以是向非易失性存储器装置100(或主机装置)通知写入数据(或读取数据)的传送操作完成的状态信息,其中写入数据(或读取数据)存储在对应于从主CPU 220(或FTL CPU 250)提供的索引信息的数据缓冲器中。例如,操作完成信号ODS从主机CPU 220(或FTL CPU 250)传送到FTL缓冲器释放队列FBRQ(或主机缓冲器释放队列HBRQ)的操作可以被称为用于请求通过FTL CPU 250(或主机CPU 220)分配的数据缓冲器的分配释放的信号的传送操作。
以下将参照图5和图6分别详细描述当来自主机装置的写入请求和读取请求在主机CPU 220和FTL CPU 250中被处理时缓冲存储器230的数据缓冲器的分配操作和分配释放操作。
再次参照图2,FTL CPU 250可以执行与与非易失性存储器装置100接口连接相关的全部操作。例如,FTL CPU 250可以基于从主机CPU220提供的请求RQ(例如,写入请求和读取请求)生成命令CMD(例如,写入命令和读取命令),并且将生成的命令CMD提供给非易失性存储器装置100。FTL CPU 250可以将从主机CPU 220提供的逻辑块地址(LBA)转换为对应的物理块地址(PBA),并且将转换的PBA提供给非易失性存储器装置100。
缓冲存储器230的数据缓冲器可以被分配给FTL CPU 250,并且FTL CPU 250可以将从非易失性存储器装置100读取的数据DATA临时存储在分配的数据缓冲器中。当对应的数据DATA通过主机CPU 220被传送到主机装置时,FTL CPU 250可以释放数据缓冲器的分配。FTL CPU 220可以将对应于从主机CPU 220提供的索引信息的数据缓冲器中临时存储的写入数据传送到非易失性存储器装置100。
存储器接口260可以提供控制器200和非易失性存储器100之间的物理连接。例如,可以通过存储器接口260在控制器200和非易失性存储器装置100之间交换命令、地址、数据等。
图5是示出根据实施例的在写入操作中分配缓冲器和释放缓冲器的分配的进程的示图。
参照图5,当从主机装置(①)接收到写入请求WRQ、待被写入的逻辑块地址(LBA)和待被写入的写入数据DATA时,主机CPU 220可以通过访问易失性存储器240的第一索引存储单元HR来分配第一索引IH(②)。例如,主机CPU 220可以使用流行码(pop code)来执行第一索引IH的分配。接下来,主机CPU 220可以将写入数据DATA临时存储在对应于分配的第一索引IH的第一数据缓冲器DBH中(③)并且同时将写入请求WRQ、待被写入的逻辑块地址(LBA)和第一索引IH传送到FTL CPU 250(③)。
FTL CPU 250可以基于写入请求WRQ生成待被提供给非易失性存储器装置100的写入命令WCMD,将待被写入的逻辑块地址(LBA)转换为对应于其的物理块地址(PBA),并且从对应于第一索引IH的第一数据缓冲器DBH中获取写入数据DATA(④)。接下来,FTL CPU 250可以将写入命令WCMD、物理块地址(PBA)和写入数据DATA提供给非易失性存储器装置100(⑤)。
当从非易失性存储装置100接收到指示完成写入操作的状态信息时,FTL CPU 250可以将操作完成信号ODS传送到易失性存储器240的主缓冲器释放队列HBRQ(⑥)。
当从主机缓冲器释放队列HBRQ(⑦)提供操作完成信号ODS时,主机CPU 220可以执行先前分配的第一索引IH的分配释放(⑧)。例如,主机CPU 220可以使用推送码(pushcode)来执行第一索引IH的分配释放。
图6是示出根据实施例的在读取操作中分配缓冲器和释放缓冲器的分配的进程的示图。
参照图6,当从主机装置(①)接收到读取请求RRQ和待被读取的逻辑块地址(LBA)时,主机CPU 220可以将从主机装置接收的读取请求RRQ和待被读取的逻辑块地址(LBA)传送到FTL CPU 250(②)。
FTL CPU 250可以基于读取请求RRQ生成待被提供给非易失性存储器装置100的读取命令RCMD,将待被读取的逻辑块地址(LBA)转换为对应的物理块地址(PBA),并且将读取命令RCMD和待被读取的物理块地址(PBA)提供给非易失性存储器装置100(③)。同时,FTLCPU 250可以通过访问易失性存储器240的第二索引存储单元FR来分配第二索引IF(③)。例如,FTL CPU 250可以使用流行码来执行第二索引IF的分配。
接下来,FTL CPU 250可以从非易失性存储器装置100接收读取数据DATA,将读取数据DATA临时存储到对应于分配的第二索引IF(④)的第二数据缓冲器DBF,并且同时,FTLCPU 250可以将第二索引IF传送到主机CPU(④)。
主机CPU 220可以从对应于第二索引IF(⑤)的第二数据缓冲器DBF获取读取数据DATA,并且将读取数据DATA传送到主机装置(⑥)。接下来,主机CPU 220可以将操作完成信号ODS传送到易失性存储器240的FTL缓冲器释放队列FBRQ(⑦)。
当从FTL缓冲器释放队列FBRQ(⑧)提供操作完成信号ODS时,FTL CPU 250可以执行先前分配的第二索引IF的分配释放(⑨)。例如,FTL CPU 250可以使用推送码来执行第二索引IF的分配释放。
如上所述,主机CPU 220和FTL CPU 250包括本实施例中的专用缓冲器和专用缓冲器释放队列。因此,主机CPU 220和FTL CPU 250可以同时执行其专用缓冲器的分配和分配释放,从而提高从主机装置传送的请求的处理速度。
图7是示出包括根据实施例的固态驱动器(SSD)2200的数据处理系统2000的示例的示图。参照图7,数据处理系统2000可以包括主机装置2100和SSD 2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和电源连接器2260。
控制器2210可以控制SSD 2220的整体操作。
缓冲存储器装置2220可以临时存储待存储在非易失性存储器装置2231至223n中的数据。进一步地,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读取的数据。临时存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制被传输到主机装置2100或非易失性存储器装置2231至223n。
非易失性存储器装置2231至223n可以用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以通过多个通道CH1至CHn分别与控制器2210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到一个通道的非易失性存储器装置可以联接到相同的信号总线和相同的数据总线。
电源2240可以将通过电源连接器2260输入的电力PWR提供给SSD2200的内部。电源2240可以包括辅助电源2241。辅助电源2241可以供给电源,使得即使当发生突然断电时SSD2200也正常地终止。辅助电源2241可以包括能够对电源PWR充电的具有大容量的至少一个电容器。
控制器2210可以通过信号连接器2250与主机装置2100交换信号SGL。信号SGL可以包括命令、地址、数据等。根据主机装置2100和SSD 2200之间的接口形式,信号连接器2250可以配置有各种类型的连接器。
图8是示出图7所示的控制器2210的示例的示图。参照图8,控制器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可以根据用于驱动SSD 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。
图9是示出包括根据实施例的数据存储装置3200的数据处理系统3000的示例的示图。参照图9,数据处理系统3000可以包括主机装置3100和数据存储装置3200。
主机装置3100可以被配置为诸如印刷电路板(PCB)的板形式。虽然在图9中未示出,但是主机装置3100可以包括执行主机装置的功能的内部功能块。
主机装置3100可以包括诸如插座、插槽或连接器的连接端子3110。数据存储装置3200可以被安装在连接端子3110上。
数据存储设备3200可以被配置为诸如印刷电路板(PCB)的板形式。数据存储装置3200可以指存储器模块或存储卡。数据存储装置3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231至3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制数据存储装置3200的总体操作。控制器3210可以具有与图8所示的控制器2210相同的配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。进一步地,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传输到主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作数据存储设备3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的功率提供给数据存储装置3200的内部。PMIC 3240可以根据控制器3210的控制来管理数据存储装置3200的电源。
连接端子3250可以联接到主机装置3100的连接端子3110。诸如命令、地址和数据的信号以及功率可以通过连接端子3250在主机装置3100和数据存储装置3200之间传输。连接端子3250可以根据主机装置3100和数据存储装置3200之间的接口形式被配置为各种形式。连接端子3250可以被布置在数据存储装置3200的任意一侧中。
图10是示出包括根据本公开的实施例的数据存储装置4200的数据处理系统4000的示例的示图。参照图10,数据处理系统4000可以包括主机装置4100和数据存储装置4200。
主机装置4100可以被配置为诸如印刷电路板(PCB)的板形式。虽然在图10中未示出,但是主机装置4100可以包括执行主机装置的功能的内部功能块。
数据存储装置4200可以被配置为表面安装封装的形式。数据存储装置4200可以通过焊球4250被安装到主机装置4100上。数据存储装置4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制数据存储装置4200的全部操作。控制器4210可以具有与图8所示的控制器2210相同的配置。
缓冲存储器装置4220可以临时存储待存储在非易失性存储器装置4230中的数据。进一步地,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以通过控制器4210的控制被传输到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作数据存储装置4200的存储介质。
图11是示出包括根据实施例的数据存储装置5200的网络系统5000的示例的示图。参照图11,网络系统5000可以包括通过网络5500联接的服务器系统5300和多个客户端系统5410至5430。
服务器系统5300可以响应于多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可以存储从多个客户端系统5410到5430提供的数据。又例如,服务器系统5300可以将数据提供给多个客户端系统5410至5430。
服务器系统5300可以包括主机装置5100和数据存储装置5200。数据存储装置5200可以以与图1的数据存储装置10、图7的数据存储装置2200、图9的数据存储装置3200或图10的数据存储装置4200相同的方式来配置。
图12是示出包括在根据本公开的实施例的数据存储装置中的非易失性存储器装置300的示例的框图。参照图12,非易失性存储器装置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可以基于解码结果来联接对应于位线BL1至BLn的数据读取/写入块330的读取/写入电路RW1至RWn和数据输入/输出(I/O)线(或数据I/O缓冲器)。
电压发生器350可以产生用于非易失性存储器装置300的内部操作的电压。通过电压发生器350产生的电压可以被施加到存储器单元阵列310的存储器单元。例如,在编程操作中产生的编程电压可以被施加到在其中待执行编程操作的存储器单元的字线。又例如,在擦除操作中产生的擦除电压可以被施加到在其中待执行擦除操作的存储器单元的阱区。再例如,在读取操作中产生的读取电压可以被施加到在其中待执行读取操作的存储器单元的字线。
控制逻辑360可以基于从外部设备提供的控制信号来控制非易失性存储器装置300的总体操作。例如,控制逻辑160可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
本发明的上述实施例旨在说明而不是限制本发明。各种可选物和等同物是可能的。本发明不受本文所述的实施例的限制。本发明也不限于任何具体类型的半导体装置。鉴于本公开,其它添加、删减或变型是显而易见的,并且旨在落入所附权利要求的范围内。
Claims (20)
1.一种数据存储装置,包括:
非易失性存储器装置;以及
控制器,控制所述非易失性存储器装置的操作,
其中所述控制器包括:
易失性存储器,包括存储第一数据缓冲器的第一索引信息的第一索引存储单元以及存储第二数据缓冲器的第二索引信息的第二索引存储单元;
第一中央处理单元,即第一CPU,通过访问所述易失性存储器的所述第一索引存储单元来执行所述第一数据缓冲器的分配和分配的释放;以及
第二中央处理单元,即第二CPU,通过访问所述易失性存储器的所述第二索引存储单元来执行所述第二数据缓冲器的分配和分配的释放。
2.根据权利要求1所述的数据存储装置,其中所述第一CPU包括处理与主机装置接口连接相关的全部操作的主机CPU,并且所述第二CPU是处理与所述非易失性存储器装置接口连接相关的全部操作的闪存转换层CPU,即FTL CPU。
3.根据权利要求1所述的数据存储装置,其中所述易失性存储器包括:
第一缓冲器释放队列,排队从所述第二CPU提供的第一操作完成信号并且将排队的第一操作完成信号提供给所述第一CPU;以及
第二缓冲器释放队列,排队从所述第一CPU提供的第二操作完成信号并且将排队的第二操作完成信号提供给所述第二CPU。
4.根据权利要求3所述的数据存储装置,其中所述第一操作完成信号包括指示响应于来自主机装置的写入请求将写入数据存储在所述非易失性存储器装置的操作已经完成的信号,以及
所述第二操作完成信号包括指示响应于来自所述主机装置的读取请求将从所述非易失性存储器装置读取的读取数据传送到所述主机装置的操作已经完成的信号。
5.根据权利要求4所述的数据存储装置,其中当从所述主机装置接收到所述写入请求和所述写入数据时,所述第一CPU通过访问所述易失性存储器的所述第一索引存储单元在所述第一数据缓冲器中分配至少一个第一数据缓冲器,将所述写入数据存储在所分配的第一数据缓冲器中,并且将对应于所分配的第一数据缓冲器的所述第一索引信息提供给所述第二CPU。
6.根据权利要求5所述的数据存储装置,其中所述第二CPU将存储在对应于从所述第一CPU提供的所述第一索引信息的所述第一数据缓冲器中的所述写入数据提供给所述非易失性存储器装置并且当所述写入数据被存储在所述非易失性存储器装置中时,将所述第一操作完成信号传送到所述第一缓冲器释放队列。
7.根据权利要求6所述的数据存储装置,其中当从所述第一缓冲器释放队列提供所述第一操作完成信号时,所述第一CPU执行所述第一数据缓冲器的所述分配的释放。
8.根据权利要求4所述的数据存储装置,其中从所述主机装置接收到所述读取请求时,所述第二CPU响应于所述读取请求接收从所述非易失性存储器装置读取的所述读取数据,通过访问所述易失性存储器的所述第二索引存储单元而在所述第二数据缓冲器中分配至少一个第二数据缓冲器,将所述读取数据存储在所分配的第二数据缓冲器中,并且将对应于所分配的第二数据缓冲器的所述第二索引信息提供给所述第一CPU。
9.根据权利要求8所述的数据存储装置,其中所述第一CPU将存储在对应于从所述第二CPU提供的所述第二索引信息的所述第二数据缓冲器中的所述读取数据传送到所述主机装置并且将所述第二操作完成信号传送到所述第二缓冲器释放队列。
10.根据权利要求9所述的数据存储装置,其中当从所述第二缓冲器释放队列提供所述第二操作完成信号时,所述第二CPU执行所述第二数据缓冲器的所述分配的释放。
11.根据权利要求1所述的数据存储装置,其中所述控制器进一步包括缓冲存储器,所述缓冲存储器包含所述第一数据缓冲器和所述第二数据缓冲器。
12.根据权利要求11所述的数据存储装置,其中所述第一数据缓冲器临时存储从主机装置传送到所述非易失性存储器装置的写入数据,并且所述第二数据缓冲器临时存储从所述非易失性存储器装置读取并且传送到所述主机装置的读取数据。
13.一种操作数据存储装置的方法,所述数据存储装置包括非易失性存储器装置和控制器,所述控制器包括易失性存储器、第一中央处理单元即第一CPU以及第二中央处理单元即第二CPU,所述易失性存储器包含第一索引存储单元和第二索引存储单元,所述方法包括:
由所述第一CPU从主机装置接收写入请求和写入数据;
由所述第一CPU通过访问所述易失性存储器的所述第一索引存储单元来分配多个第一数据缓冲器中的至少一个第一数据缓冲器;
由所述第一CPU将所述写入数据存储在所述分配的第一数据缓冲器中;以及
由所述第一CPU将对应于所述分配的第一数据缓冲器的第一索引信息提供给所述第二CPU。
14.根据权利要求13所述的方法,其进一步包括:
由所述第二CPU从所述主机装置接收读取请求;
由所述第二CPU响应于所述读取请求接收从所述非易失性存储器装置读取的读取数据;
由所述第二CPU通过访问所述易失性存储器的所述第二索引存储单元来分配多个第二数据缓冲器中的至少一个第二数据缓冲器;
由所述第二CPU将所述读取数据存储在所述分配的第二数据缓冲器中;以及
由所述第二CPU将对应于所述分配的第二数据缓冲器的第二索引信息提供给所述第一CPU。
15.根据权利要求14所述的方法,
其中所述第一CPU包括处理与所述主机装置接口连接相关的全部操作的主机CPU,并且所述第二CPU包括处理与所述非易失性存储器装置接口连接相关的全部操作的闪存转换层CPU,即FTL CPU,以及
其中所述易失性存储器包括:
第一缓冲器释放队列,其排队从所述第二CPU提供的第一操作完成信号并且将排队的第一操作完成信号提供给所述第一CPU;以及
第二缓冲器释放队列,其排队从所述第一CPU提供的第二操作完成信号并且将排队的第二操作完成信号提供给所述第二CPU。
16.根据权利要求15所述的方法,
其中所述第一操作完成信号包括指示响应于来自所述主机装置的所述写入请求将所述写入数据存储在所述非易失性存储器装置中的操作已经完成的信号,以及
其中所述第二操作完成信号包括指示响应于来自所述主机装置的读取请求将从所述非易失性存储器装置读取的读取数据传送到所述主机装置的操作已经完成的信号。
17.根据权利要求16所述的方法,其进一步包括:
由所述第二CPU将存储在对应于从所述第一CPU提供的所述第一索引信息的所述第一数据缓冲器中的所述写入数据提供给所述非易失性存储器装置;以及
当所述写入数据被存储在所述非易失性存储器装置中时,由所述第二CPU将所述第一操作完成信号传送到所述第一缓冲器释放队列。
18.根据权利要求17所述的方法,其进一步包括:
当从所述第一缓冲器释放队列提供所述第一操作完成信号时,由所述第一CPU执行所述第一数据缓冲器的分配的释放。
19.根据权利要求16所述的方法,其进一步包括:
由所述第一CPU将存储在对应于从所述第二CPU提供的所述第二索引信息的所述第二数据缓冲器中的所述读取数据传送到所述主机装置;以及
由所述第一CPU将所述第二操作完成信号传送到所述第二缓冲器释放队列。
20.根据权利要求19所述的方法,其进一步包括:
当从所述第二缓冲器释放队列提供所述第二操作完成信号时,由所述第二CPU执行所述第二数据缓冲器的分配的释放。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170108565A KR102434840B1 (ko) | 2017-08-28 | 2017-08-28 | 데이터 저장 장치 |
KR10-2017-0108565 | 2017-08-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109426453A true CN109426453A (zh) | 2019-03-05 |
CN109426453B CN109426453B (zh) | 2022-03-04 |
Family
ID=65435269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810879838.0A Active CN109426453B (zh) | 2017-08-28 | 2018-08-03 | 数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10810118B2 (zh) |
KR (1) | KR102434840B1 (zh) |
CN (1) | CN109426453B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274163A (zh) * | 2020-03-27 | 2020-06-12 | 西安紫光国芯半导体有限公司 | 储存级存储器的双列直插式存储模块装置及其缓存方法 |
KR102365312B1 (ko) | 2021-06-17 | 2022-02-23 | 삼성전자주식회사 | 스토리지 컨트롤러, 연산 스토리지 장치, 및 연산 스토리지 장치의 동작 방법 |
EP4105771A1 (en) * | 2021-06-17 | 2022-12-21 | Samsung Electronics Co., Ltd. | Storage controller, computational storage device, and operational method of computational storage device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100268891A1 (en) * | 2009-04-21 | 2010-10-21 | Thomas Martin Conte | Allocation of memory space to individual processor cores |
CN102662640A (zh) * | 2012-04-12 | 2012-09-12 | 苏州睿云智芯微电子有限公司 | 双重分支目标缓冲器和分支目标处理系统及处理方法 |
CN104575595A (zh) * | 2014-12-12 | 2015-04-29 | 杭州华澜微科技有限公司 | 非易失性随机存取的存储装置 |
US20150261456A1 (en) * | 2014-03-13 | 2015-09-17 | NXGN Data, Inc. | Configurable read-modify-write engine and method for operating the same in a solid state drive |
CN105427368A (zh) * | 2015-11-17 | 2016-03-23 | 上海兆芯集成电路有限公司 | 数据单元的关联性检查方法以及使用该方法的装置 |
CN105700830A (zh) * | 2016-02-26 | 2016-06-22 | 湖南国科微电子股份有限公司 | 一种支持worm存储的固态硬盘主控、固态硬盘及worm存储方法 |
US20160358590A1 (en) * | 2015-06-03 | 2016-12-08 | Samsung Electronics Co., Ltd. | System on Chip Devices and Operating Methods Thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100725100B1 (ko) | 2005-12-22 | 2007-06-04 | 삼성전자주식회사 | 포트간 데이터 전송기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치 |
-
2017
- 2017-08-28 KR KR1020170108565A patent/KR102434840B1/ko active IP Right Grant
-
2018
- 2018-06-06 US US16/001,330 patent/US10810118B2/en active Active
- 2018-08-03 CN CN201810879838.0A patent/CN109426453B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100268891A1 (en) * | 2009-04-21 | 2010-10-21 | Thomas Martin Conte | Allocation of memory space to individual processor cores |
CN102662640A (zh) * | 2012-04-12 | 2012-09-12 | 苏州睿云智芯微电子有限公司 | 双重分支目标缓冲器和分支目标处理系统及处理方法 |
US20150261456A1 (en) * | 2014-03-13 | 2015-09-17 | NXGN Data, Inc. | Configurable read-modify-write engine and method for operating the same in a solid state drive |
CN104575595A (zh) * | 2014-12-12 | 2015-04-29 | 杭州华澜微科技有限公司 | 非易失性随机存取的存储装置 |
US20160358590A1 (en) * | 2015-06-03 | 2016-12-08 | Samsung Electronics Co., Ltd. | System on Chip Devices and Operating Methods Thereof |
CN105427368A (zh) * | 2015-11-17 | 2016-03-23 | 上海兆芯集成电路有限公司 | 数据单元的关联性检查方法以及使用该方法的装置 |
CN105700830A (zh) * | 2016-02-26 | 2016-06-22 | 湖南国科微电子股份有限公司 | 一种支持worm存储的固态硬盘主控、固态硬盘及worm存储方法 |
Non-Patent Citations (2)
Title |
---|
LU TANG; ZHIGANG SUN; TAO LI; BIAO HAN; GAOFENG LV; WEI SHI; HUI: ""Demostration of Self-Described Buffer for Accelerating Packet Forwarding on Multi-core Servers"", 《2014 IEEE 6TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING TECHNOLOGY AND SCIENCE》 * |
相里博: "" 基于VMM的多核处理器共享缓存的研究与验证"", 《中国优秀硕士学位论文全文数据库》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109426453B (zh) | 2022-03-04 |
KR102434840B1 (ko) | 2022-08-22 |
US10810118B2 (en) | 2020-10-20 |
KR20190023196A (ko) | 2019-03-08 |
US20190065362A1 (en) | 2019-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110083545A (zh) | 数据存储装置及其操作方法 | |
CN108804023A (zh) | 数据存储装置及其操作方法 | |
CN107153509A (zh) | 数据存储装置及其操作方法 | |
US10838653B2 (en) | Electronic device and operating method thereof | |
CN109933280A (zh) | 数据存储装置及其操作方法 | |
CN107122317A (zh) | 数据存储装置 | |
CN111916140B (zh) | 控制器及其操作方法以及包括控制器的存储器系统 | |
CN110389908A (zh) | 存储器系统、数据处理系统和存储器系统的操作方法 | |
CN108932107A (zh) | 数据存储装置及其操作方法 | |
CN109992202A (zh) | 数据存储设备、其操作方法以及包括其的数据处理系统 | |
CN109783008A (zh) | 数据存储装置及其操作方法 | |
CN109992201A (zh) | 数据存储设备及其操作方法 | |
CN110413222A (zh) | 数据存储装置及其操作方法 | |
CN108459978A (zh) | 包括非易失性存储器装置的数据存储装置及其操作方法 | |
CN109559775A (zh) | 非易失性存储器装置及其操作方法以及数据存储设备 | |
CN108694980A (zh) | 数据存储装置及其操作方法 | |
CN110196736A (zh) | 电子设备及其操作方法 | |
CN109407966A (zh) | 数据存储装置及其操作方法 | |
CN110286847A (zh) | 数据存储装置及其操作方法 | |
CN109426453A (zh) | 数据存储装置及其操作方法 | |
CN110489056A (zh) | 控制器以及包括该控制器的存储器系统 | |
CN110456981A (zh) | 存储器系统、存储器系统的操作方法以及电子装置 | |
CN112445422A (zh) | 存储器控制器、存储装置以及存储器控制器的操作方法 | |
CN109240937A (zh) | 数据存储装置及其操作方法 | |
US10754768B2 (en) | Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an 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 |