CN108170381A - 一种SLC Block到XLC Block数据迁移方法 - Google Patents

一种SLC Block到XLC Block数据迁移方法 Download PDF

Info

Publication number
CN108170381A
CN108170381A CN201711465556.8A CN201711465556A CN108170381A CN 108170381 A CN108170381 A CN 108170381A CN 201711465556 A CN201711465556 A CN 201711465556A CN 108170381 A CN108170381 A CN 108170381A
Authority
CN
China
Prior art keywords
lun
data
xlc
offset
page
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
CN201711465556.8A
Other languages
English (en)
Other versions
CN108170381B (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.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN201711465556.8A priority Critical patent/CN108170381B/zh
Publication of CN108170381A publication Critical patent/CN108170381A/zh
Application granted granted Critical
Publication of CN108170381B publication Critical patent/CN108170381B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请涉及数据迁移技术领域,尤其涉及一种SLC Block到XLC Block数据迁移方法。本发明通过将LUN划分为两个BANK,将一个BANK作为数据源,另一个BANK做为数据目的地,使得一个BANK只做SLC page读,而另外一个BANK只做XLC写,进而确保1次XLC写的N个page数据传输不能被其他操作打断的需求;读路径的数据都会经过LDPC进行纠错处理,SLC Page数据中的误码不会叠加到XLC中;经过本方案完成数据迁移后,BANK0和BANK1的数据发生了位置交换,这种差异在系统中通过简单偏移映射即可处理掉。

Description

一种SLC Block到XLC Block数据迁移方法
技术领域
本申请涉及数据迁移技术领域,尤其涉及一种SLC Block到XLC Block数据迁移方法。
背景技术
XLC颗粒写的特点决定了直接写XLC期间需要缓存大量的源数据,若使用芯片内部RAM来缓存这些数据,将导致芯片成本上升。为降低成本,主流做法是将数据缓存到先写到SLC Block中,然后再将数据从SLC Block迁移到XLC Block的方式来来解决。
目前SLC Block迁移数据到XLC Block的方法主要有两种:CopyBack方式、读写方式。
Copyback方法通过使用颗粒CopyBack命令先从NAND介质读取数据到NAND内部的data register中,然后再将数据从dataregister下刷到NAND介质。该方法实现原理如图1所示。图中浅色箭头代表Copyback的读操作,深色箭头代表CopyBack的写操作。
由图1可知,该方法中数据无需经过SSD主控中转,即不需要在主控端缓存,而是通过 NAND内部的dataregister来中转这些数据。由于每个LUN的的数据迁移可同时进行,具备性能良好且不需要消耗主控的RAM资源的特点。然而dataregister中的数据未做纠错处理,所以这些数据中的误码会叠加到XLC Page中。
读写方式,假设XLC page一次编程需要传输N个page,根据XLC的编程特点可知对某个LUN执行XLC写时,该N个Page的下刷不能被其他操作打断;首先选择1个LUN,从 SLCBlock读取N个SLC Page到芯片内部ram,然后将ram中的这些数据下刷到该LUN的 XLCBlock中。该方法实现原理如图2所示,图中浅色箭头代表连续N个SLC page读的数据传输,深色箭头代表1次XLC写时的N个page数据传输。
由图2可知,数据被读到芯片内部,且传输时经过LDPC纠错处理,所以来自介质中的误码不会通过写叠加到XLC page,即没有EBC放大问题;另外,该方法的最大并发数为RamSize/(PageSize*N),在为满足规定性能指标下,需要很大的ram空间。例如,2planePageSize为32KB,一次tlc编程需要传输3个Page数据,则达到32并发时,ram size大小需要32KB*3*32KB=3MB,若为削减成本而强行减小RamSize,则必然会牺牲性能。
综上,可知现有技术存在以下缺点:
EBC放大问题,在Copyback方法中,由于从SLC page中读取的数据未经过SSD主控LDPC纠错,使得SLC Page的误码叠加写入到XLC Page,加重XLC page数据的出错率,严重时,可能导致TLC page数据超过SSD主控LDPC的纠错能力,反映到SSD整盘为盘片可靠性降低、寿命降低。
RAM资源需求过多或性能低下。为确保NAND要求的1次XLC写要求N个page的传输不能被打断,在读写方式中,每个LUN都需要连续读N个SLC Page数据,然后再下刷到这N个Page的数据来执行一次XLC写。意味着每个并发单元都需要N个page size的ram空间,对满足一定性能指标下,对芯片内部ram资源需求过多,加剧芯片成本。若为降低成本强行减小ram空间,必然导致并发数减小,从而导致数据迁移过程的性能低下。
发明内容
本申请提供了一种SLC Block到XLC Block数据迁移方法,本发明目的旨在解决现有方案中EBC放大、RAM资源需求过多或迁移性能低下的问题,进而提升SSD可靠性和寿命,同时在满足相同性能指标时降低芯片成本。
为此,本发明提供了下述技术方案:一种SLC Block到XLC Block数据迁移方法,其特征在于,包括以下步骤:
步骤1:将M个LUN划分为两组,第一组LUN 0~LUN M/2-1记为bank0,第二组LUN M/2~LUN M记为Bank1;将bank内相对第一个LUN编号的偏移记为Offset;每次XLC写需要N个page数据传输,将XLC写的序号记为progOrder;
步骤2:设置数据源为bank0,数据目的地位bank1,offset值为0,programOrder为0;
步骤3:从bank0中选取LUN Offset作为数据源,从bank1中选取LUN M/2+offset作为数据目的地;从LUN offset中读取第一个Slc Page,向LUN M/2+offset中下发第progOrder 次tlc写的一个page下刷请求;从LUN offset中读取第二个Slc Page,向LUN M/2+offset中下发第progOrder次tlc写的二个page下刷请求;依次类推,直到第progOrder次tlc写的第N 个page下刷请求下发完毕;
步骤4:Offset++,若offset>=M/2,则意味着bank0的LUN遍历完毕,则进入步骤5;否则跳转到步骤3;
步骤5:ProgOrder++,若ProgOrder为XLC block的最后一次编程,则进入步骤6;否则设置offset值为0并跳转到步骤3;
步骤6:若源数据为bank1,则跳转到步骤8,否则跳转到步骤7;
步骤7:设置数据源为bank1,数据目的地位bank0,设置offset值为0,设置progOrder 为0;跳转到步骤3;
步骤8:迁移结束。
进一步地,所述XLC包括MLC、TLC或QLC。
本申请提供的技术方案包括以下有益技术效果:
(1)有效提升芯片内部RAM资源利用率;本发明中通过将多个LUN划分为两个或多个BANK的方式,实现了读写操作分别位于不同的LUN,从而使得不用连续读取N个SLC Page后在下刷到XLC,而是每读取1个SLC Page及下刷到XLC。做一次XLC写,Ram资源的需求从N个page size降为1个Page Size,极大提升RAM使用效率,芯片成本亦随之减少。
(2)提高数据迁移的并发度;在本方案中有于读写操作位于不同的LUN,相比于读写方案中的源数据和目的数据在相同LUN而言,数据迁移的并发度翻倍。
(3)无EBC放大,由于读数据时都经过LDPC进行纠错,所有本方案中无Copy back方法中具有的EBC放大问题,从而提升盘片可靠性及寿命。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的现有技术中的Copy back数据传输原理。
图2为本发明提供的现有技术中的读写方式数据传输原理。
图3为本申请实施例提供的一种SLC Block到XLC Block数据迁移方法的原理框图。
具体实施方式
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
实施例一
为了解决EBC放大问题,即意味着数据传输必须经过LDPC进行纠错。
读路径的数据都会经过LDPC纠错,所有本方案中不存在EBC放大问题。
由于颗粒1次XLC写要求与该次写相关的N个page数据传输不能被其他操作打断,本方案结合图3通过以下流程来予以保障。
如图3所示,图中读浅色箭头为单个SLC page读,深色箭头为1次XLC编程中的单个XLC传输。
一种SLC Block到XLC Block数据迁移方法,其特征在于,包括以下步骤:
步骤1:将M个LUN划分为两组,第一组LUN 0~LUN M/2-1记为bank0,第二组LUN M/2~LUN M记为Bank1;将bank内相对第一个LUN编号的偏移记为Offset;每次XLC写需要N个page数据传输,将XLC写的序号记为progOrder;
步骤2:设置数据源为bank0,数据目的地位bank1,offset值为0,programOrder为0;
步骤3:从bank0中选取LUN Offset作为数据源,从bank1中选取LUN M/2+offset作为数据目的地;从LUN offset中读取第一个Slc Page,向LUN M/2+offset中下发第progOrder 次tlc写的一个page下刷请求;从LUN offset中读取第二个Slc Page,向LUN M/2+offset中下发第progOrder次tlc写的二个page下刷请求;依次类推,直到第progOrder次tlc写的第N 个page下刷请求下发完毕;
步骤4:Offset++,若offset>=M/2,则意味着bank0的LUN遍历完毕,则进入步骤5;否则跳转到步骤3;
步骤5:ProgOrder++,若ProgOrder为XLC block的最后一次编程,则进入步骤6;否则设置offset值为0并跳转到步骤3;
步骤6:若源数据为bank1,则跳转到步骤8,否则跳转到步骤7;
步骤7:设置数据源为bank1,数据目的地位bank0,设置offset值为0,设置progOrder 为0;跳转到步骤3;
步骤8:迁移结束。
作为本实施例技术方案的一大改进,所述XLC包括MLC、TLC或QLC。
从上述操作流程可知,本方案具有如下特点:
通过将LUN划分为两个BANK,将一个BANK作为数据源,另一个BANK做为数据目的地,使得一个BANK只做SLC page读,而另外一个BANK只做XLC写,进而确保1次 XLC写的N个page数据传输不能被其他操作打断的需求。
读路径的数据都会经过LDPC进行纠错处理,SLC Page数据中的误码不会叠加到XLC 中。
经过本方案完成数据迁移后,BANK0和BANK1的数据发生了位置交换,这种差异在系统中通过简单偏移映射即可处理掉。
本方案中在1次XLC写中,每读取1个SLC Page即可下刷到XLC。
由于源和目的位于不同的LUN,即意味着每消耗单个pageSize的ram空间即可获得2个 LUN并发度,所以,该方法的最大并发数为[RamSize/(PageSize)]*2;显然,若在相同RAM size条件下,本方案较读写方案在并发度上提升了2*N倍;若在相同的并发度指标下,本方案需要的ramSize为读写方案所需ramSize的1/(2*N)。例如,2plane page size为32KB,一次tlc编程需要传输3个page条件下,则达到32并发时,RamSize大小需要32*32KB/2=512KB,显然芯片成本得到大量节省。
作为本实施例技术方案的一大改进,也可以将M个LUN划分为两组,提供一种高效的 SLC BLOCK到XLC BLK的数据迁移方法,具有以下特点:
1、本发明提供一种高效的SLC BLOCK到XLC BLK的数据迁移方法,XLC指MLC 或TLC或QLC。
2、在1的基础之上,将M个LUN划分为两个或多个BANK,将一部分BANK作为源数据BANK,另外一部分BANK作为数据目的地BANK。
3、在2的基础之上,所有源SLC Page读取都需经过LDPC纠错。
4、在3的基础之上,从源BANK中每读取一个SLC page数据立即将该数据下刷到目的BAND的XLC Block中。
综上,本发明有以优点:
(1)有效提升芯片内部RAM资源利用率;本发明中通过将多个LUN划分为两个或多个BANK的方式,实现了读写操作分别位于不同的LUN,从而使得不用连续读取N个SLC Page后在下刷到XLC,而是每读取1个SLC Page及下刷到XLC。做一次XLC写,Ram资源的需求从N个page size降为1个Page Size,极大提升RAM使用效率,芯片成本亦随之减少。
(2)提高数据迁移的并发度;在本方案中有于读写操作位于不同的LUN,相比于读写方案中的源数据和目的数据在相同LUN而言,数据迁移的并发度翻倍。
(3)无EBC放大,由于读数据时都经过LDPC进行纠错,所有本方案中无Copy back方法中具有的EBC放大问题,从而提升盘片可靠性及寿命,。
关于本实施例中出现的英文缩写释义如下:
NAND闪存是一种比硬盘驱动器更好的存储设备,在不超过4GB的低容量应用中表现得犹为明显。随着人们持续追求功耗更低、重量更轻和性能更佳的产品,NAND被证明极具吸引力。NAND闪存是一种非易失性存储技术,即断电后仍能保存数据。它的发展目标就是降低每比特存储成本、提高存储容量。
SSD,Solid State Drive,固态硬盘,一种利用Flash介质存储用户数据的存储设备。
EBC,Error Bit Count,错误比特数。
SLC,Single Level Cell,1个Cell存放1个比特信息的颗粒。
MLC,Muti-Level Cell,1个Cell存放2个比特信息的颗粒。
TLC,Tirpel-Level Cell,1个Cell存放3个比特信息的颗粒。
QLC,Quad-Level Cell,1个Cell存放4个比特信息的颗粒。
PAGE,页,非易失介质编程的最小单位。
BLOCK,块,一个块由多个page组成。
LUN,Logic unit number,可独立操作的逻辑单元。
需要说明的是,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的内容,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (2)

1.一种SLC Block到XLC Block数据迁移方法,其特征在于,包括以下步骤:
步骤1:将M个LUN划分为两组,第一组LUN 0~LUN M/2-1记为bank0,第二组LUN M/2~LUN M记为Bank1;将bank内相对第一个LUN编号的偏移记为Offset;每次XLC写需要N个page数据传输,将XLC写的序号记为progOrder;
步骤2:设置数据源为bank0,数据目的地位bank1,offset值为0,programOrder为0;
步骤3:从bank0中选取LUN Offset作为数据源,从bank1中选取LUN M/2+offset作为数据目的地;从LUN offset中读取第一个Slc Page,向LUN M/2+offset中下发第progOrder次tlc写的一个page下刷请求;从LUN offset中读取第二个Slc Page,向LUN M/2+offset中下发第progOrder次tlc写的二个page下刷请求;依次类推,直到第progOrder次tlc写的第N个page下刷请求下发完毕;
步骤4:Offset++,若offset>=M/2,则意味着bank0的LUN遍历完毕,则进入步骤5;否则跳转到步骤3;
步骤5:ProgOrder++,若ProgOrder为XLC block的最后一次编程,则进入步骤6;否则设置offset值为0并跳转到步骤3;
步骤6:若源数据为bank1,则跳转到步骤8,否则跳转到步骤7;
步骤7:设置数据源为bank1,数据目的地位bank0,设置offset值为0,设置progOrder为0;跳转到步骤3;
步骤8:迁移结束。
2.根据权利要求1所述的一种SLC Block到XLC Block数据迁移方法,其特征在于,所述XLC包括MLC、TLC或QLC。
CN201711465556.8A 2017-12-28 2017-12-28 一种SLC Block到XLC Block数据迁移方法 Active CN108170381B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711465556.8A CN108170381B (zh) 2017-12-28 2017-12-28 一种SLC Block到XLC Block数据迁移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711465556.8A CN108170381B (zh) 2017-12-28 2017-12-28 一种SLC Block到XLC Block数据迁移方法

Publications (2)

Publication Number Publication Date
CN108170381A true CN108170381A (zh) 2018-06-15
CN108170381B CN108170381B (zh) 2021-01-01

Family

ID=62519367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711465556.8A Active CN108170381B (zh) 2017-12-28 2017-12-28 一种SLC Block到XLC Block数据迁移方法

Country Status (1)

Country Link
CN (1) CN108170381B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110471863A (zh) * 2019-08-13 2019-11-19 深圳忆联信息系统有限公司 基于固态硬盘的数据写入读取方法、装置和计算机设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571832A (zh) * 2008-04-29 2009-11-04 群联电子股份有限公司 数据写入方法及使用该方法的快闪存储系统与其控制器
CN101814318A (zh) * 2009-02-25 2010-08-25 群联电子股份有限公司 多层存储单元与非型闪存储存系统及其控制器与存取方法
US20110145476A1 (en) * 2009-12-15 2011-06-16 Hulbert Jared E Persistent Content in Nonvolatile Memory
CN104423889A (zh) * 2013-08-26 2015-03-18 国际商业机器公司 一种多路径管理方法和系统
CN104765569A (zh) * 2014-01-06 2015-07-08 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器储存装置
CN106302607A (zh) * 2015-06-05 2017-01-04 腾讯科技(深圳)有限公司 应用于云计算的块存储系统及方法
KR20170113013A (ko) * 2016-03-29 2017-10-12 삼성전자주식회사 멀티-웨어 스마트 솔리드 스테이트 드라이브

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571832A (zh) * 2008-04-29 2009-11-04 群联电子股份有限公司 数据写入方法及使用该方法的快闪存储系统与其控制器
CN101814318A (zh) * 2009-02-25 2010-08-25 群联电子股份有限公司 多层存储单元与非型闪存储存系统及其控制器与存取方法
US20110145476A1 (en) * 2009-12-15 2011-06-16 Hulbert Jared E Persistent Content in Nonvolatile Memory
CN104423889A (zh) * 2013-08-26 2015-03-18 国际商业机器公司 一种多路径管理方法和系统
CN104765569A (zh) * 2014-01-06 2015-07-08 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器储存装置
CN106302607A (zh) * 2015-06-05 2017-01-04 腾讯科技(深圳)有限公司 应用于云计算的块存储系统及方法
KR20170113013A (ko) * 2016-03-29 2017-10-12 삼성전자주식회사 멀티-웨어 스마트 솔리드 스테이트 드라이브

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110471863A (zh) * 2019-08-13 2019-11-19 深圳忆联信息系统有限公司 基于固态硬盘的数据写入读取方法、装置和计算机设备

Also Published As

Publication number Publication date
CN108170381B (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
US11416391B2 (en) Garbage collection
US9727271B2 (en) Data storage device and flash memory control method
US9146851B2 (en) Single-level cell and multi-level cell hybrid solid state drive
CN101288054B (zh) 闪存管理方法、系统、存储设备、以及闪存设备
US8819334B2 (en) Solid state drive data storage system and method
JP5823875B2 (ja) 固体メモリフォーマッティング
US9098395B2 (en) Logical block management method for a flash memory and control circuit storage system using the same
US9870149B2 (en) Scheduling operations in non-volatile memory devices using preference values
US20160188410A1 (en) Stripe reconstituting method performed in storage system, method of performing garbage collection by using the stripe reconstituting method, and storage system performing the stripe reconstituting method
JP5635200B2 (ja) 不揮発半導体記憶システム
KR102457400B1 (ko) 가비지 컬렉션 방법, 이를 수행하는 저장 장치 및 이를 포함하는 컴퓨팅 시스템
CN111194438B (zh) 扩展ssd长久性
CN102292712A (zh) 逻辑地址偏移
US11809723B2 (en) Unbalanced plane management method, associated data storage device and controller thereof
US9141530B2 (en) Data writing method, memory controller and memory storage device
CN101369451A (zh) 固态存储器、包含其的计算机系统和操作其的方法
TW201437807A (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
US7840836B2 (en) Storage device and data writing method utilizing the same
WO2010111071A2 (en) Solid state drive with improved read variability
US20160259598A1 (en) Control apparatus, control method, and control program
US20140297949A1 (en) Disk array device
CN115543860A (zh) 数据处理系统及其操作方法
CN108170381A (zh) 一种SLC Block到XLC Block数据迁移方法
US10824340B2 (en) Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus
JP5782556B2 (ja) 不揮発半導体記憶システム

Legal Events

Date Code Title Description
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