[go: up one dir, main page]

CN104899155A - 固态硬盘的写入方法 - Google Patents

固态硬盘的写入方法 Download PDF

Info

Publication number
CN104899155A
CN104899155A CN201410079814.9A CN201410079814A CN104899155A CN 104899155 A CN104899155 A CN 104899155A CN 201410079814 A CN201410079814 A CN 201410079814A CN 104899155 A CN104899155 A CN 104899155A
Authority
CN
China
Prior art keywords
address
data
buffer address
buffer
write
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
CN201410079814.9A
Other languages
English (en)
Other versions
CN104899155B (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.)
Quanta Storage Inc
Original Assignee
Quanta Storage 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 Quanta Storage Inc filed Critical Quanta Storage Inc
Priority to CN201410079814.9A priority Critical patent/CN104899155B/zh
Priority to US14/505,856 priority patent/US9263117B2/en
Publication of CN104899155A publication Critical patent/CN104899155A/zh
Application granted granted Critical
Publication of CN104899155B publication Critical patent/CN104899155B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Read Only Memory (AREA)

Abstract

一种固态硬盘的写入方法,在缓冲存储器中规划写入单元,缓冲地址一对一对应固态硬盘的非易失性存储单元,接收写入数据,利用写入数据的逻辑分配地址除以缓冲地址数目,由其余数,取得在写入单元重新排序的缓冲地址,检查重新排序的缓冲地址不是空白,则利用偏移下一缓冲地址重新排序,检查重新排序的缓冲地址是空白,则将写入数据暂存至重新排序的缓冲地址,以顺序排列写入数据的逻辑分配地址。

Description

固态硬盘的写入方法
技术领域
本发明涉及一种固态硬盘的写入方法,特别是涉及固态硬盘写入数据时,在缓冲存储器中数据重新排序写入非易失性存储单元的方法。
背景技术
固态硬盘(Solid State Drive,简称SSD)一般由数个非易失性存储单元(Non-Volatile Memory,简称NVM)整合成为单一储存装置。由于固态硬盘传输数据的速度非常快速,有利于大量数据的传输,已成为现代计算机系统的主要数据储存装置。
如图1所示,为现有技术固态硬盘的数据写入过程。计算机系统等主机利用处理器发送具有逻辑分配地址(Logical Allocation Address,简称LAA)的写入数据,例如写入数据LAA(0,8,2,3,4,5,6,7,1,9,10,11,12,13,14,15),由固态硬盘中的控制器接收写入数据,暂存在缓冲存储器,再依接收先后次序,将相对应非易失性存储单元0-7数目的写入数据,分成多个写入单位,例如写入单位1为LAA(0,8,2,3,4,5,6,7)及写入单位2为LAA(1,9,10,11,12,13,14,15),然后以写入单位为单位,将写入数据分送且经非易失性存储单元0-7各自的先进先出(First In First Out,简称FIFO)管道,同时平行储存至各非易失性存储单元,以提高数据的写入速度。
读取数据时,固态硬盘接收主机读取需求,分送且登记在各非易失性存储单元的读取需求伫列中。再依各非易失性存储单元伫列中读取需求的顺序,按照先进先出的原则,同时平行读取各非易失性存储单元储存的数据,由各自的先进先出管道送出,经控制器整理后,储存在主机的动态随机存储器(DRAM)中备用。因此,固态硬盘利用各非易失性存储单元各自的先进先出管道,以多管道同时平行读取数据,达到提高数据读取的速度。
然而,假如主机需要读取数据LAA(0,1,2,3,4,5,6,7)时,因固态硬盘各非易失性存储单元受各自先进先出管道的限制,非易失性存储单元0无法同时读取送出所需的两个读取数据LAA(0,1)。仅能在第一时程先行读取数据LAA(0),随其他非易失性存储单元2,3,4,5,6,7平行读取的LAA(0,2,3,4,5,6,7)送出,然后在第二时程非易失性存储单元0单独读取数据LAA(1)送出。使得固态硬盘读取数据的时间被迫延长,导致降低固态硬盘多管道平行读取数据的效率。
究其原因,固态硬盘虽然将接收的写入数据,分散至各非易失性存储单元,利用平行多管道以提高写入数据速度。但仅依接收先后次序,分散的写入数据,极易将具有连续或相近的逻辑分配地址的写入数据,写入同一非易失性存储单元中,导致数据读取时受先进先出管道限制的卡阻,造成固态硬盘整体读写效能的降低。因此,固态硬盘在数据的写入方法,仍有问题亟待解决。
发明内容
本发明的目的在提供一种固态硬盘的写入方法,藉由重新排序写入数据暂存在写入单元的缓冲地址,使写入数据依其逻辑分配地址大小,在相邻的非易失性存储单元中顺序排列,以提高读取速度。
本发明另一目的在提供一种固态硬盘的写入方法,利用写入数据的逻辑分配地址,将地址序数除以缓冲地址数目的余数,作为写入数据暂存的缓冲地址,以重新排序写入数据。
本发明再一目的在提供一种固态硬盘的写入方法,对于已被暂存的非空白缓冲地址,利用偏移缓冲地址,重新排序写入数据的缓冲地址,以维持写入数据在相邻的非易失性存储单元中顺序排列。
为了达到前述发明的目的,本发明固态硬盘的写入方法,在缓冲存储器中规划写入单元,缓冲地址一对一对应固态硬盘的非易失性存储单元,接收具有逻辑分配地址的写入数据,利用写入数据的逻辑分配地址的地址序数除以缓冲地址数目,由其余数,取得在写入单元重新排序的缓冲地址,检查重新排序的缓冲地址不是空白,则利用偏移下一缓冲地址重新排序,检查重新排序的缓冲地址是空白,则将写入数据暂存至重新排序的缓冲地址。
本发明固态硬盘的写入方法,将写入数据暂存后,检查写入单元的缓冲地址已填满,将暂存在写入单元缓冲地址的写入数据,相对应写入非易失性存储单元储存,写入单元写入非易失性存储单元后,再检查未完成接收写入数据时,继续规划下一写入单元及接收写入数据,规划的写入单元,可清空写入单元做为下一写入单元或在缓冲存储器中另寻空间规划下一写入单元。
附图说明
图1为现有技术固态硬盘写入数据的示意图。
图2为本发明固态硬盘的系统结构图。
图3为本发明固态硬盘写入数据的理想储存状态图。
图4为本发明重新排序写入数据的缓冲地址的示意图。
图5为本发明偏移写入数据的缓冲地址的示意图。
图6为本发明固态硬盘写入方法的重新排序的流程图。
图7为本发明固态硬盘第一阶段写入数据的实施例的示意图。
图8为本发明固态硬盘第二阶段写入数据的实施例的示意图。
图9为本发明固态硬盘的写入方法的流程图。
附图符号说明
10   主机
11   处理器
12   动态随机存储器
20   固态硬盘
21   控制器
22   缓冲存储区
23   先进先出管道
24   非易失性存储单元
具体实施方式
有关本发明为实现上述目的,所采用的技术手段及其功效,兹举较佳实施例,并结合附图加以说明如下。
请参阅图2,为本发明固态硬盘20的系统结构。其中主机10设置处理器11发送写入数据及读取数据的需求,且设有动态随机存储器12暂时储存读取的数据备用。本发明的固态硬盘20连接主机10,固态硬盘20内设控制器21配合缓冲存储器22,控制由数个先进先出管道23一对一对应连接的多个8个非易失性存储单元24,整合成为单一储存装置,作为主机的主要数据储存装置。本实施例虽以固态硬盘20包含8个第0至7个非易失性存储单元24为例说明,但固态硬盘20的非易失性存储单元24数目m,包含且不限于8个非易失性存储单元24。
主机10的处理器11发送写入数据时,由固态硬盘20中的控制器21接收写入数据,暂存在缓冲存储器22,重新排序形成写入单位。将写入单位中的写入数据经非易失性存储单元24各自的先进先出管道23,平行储存至各非易失性存储单元24。主机10读取数据时,由固态硬盘20接收读取需求,分送且登记在各非易失性存储单元24的读取需求伫列中。再依各非易失性存储单元24伫列中读取需求的顺序,按照先进先出的原则,平行读取各非易失性存储单元24储存的数据,由各自的先进先出管道23送出,供主机备用。
如图3所示,为本发明固态硬盘20写入数据的理想储存状态。由于使用者在同一工作时段,写入或读取的数据通常属于相同性质工作内容的数据,而相同性质工作内容的数据一般具有连续或相近的逻辑分配地址(LAA)。因此如能将连续或相近的逻辑分配地址,如图3依其逻辑分配地址的大小在相邻的非易失性存储单元24中的进行理想的顺序排列,就可在读取连续的逻辑分配地址数据时,例如读取数据LAA(2,3,4,5,6,7,8,9),避免读取数据受先进先出管道23的卡阻,而可提高读取速度。
如图4所示,为本发明重新排序写入数据暂存的缓冲地址的过程。为了达到让写入数据依其逻辑分配地址在相邻的非易失性存储单元中顺序排列的目标。本发明固态硬盘的m个非易失性存储单元,针对接收主机的写入数据的逻辑分配地址LAA(n),在缓冲存储器22中规划写入单元。写入单元具有m个缓冲地址(Plane Address,简称PA),即PA(0),PA(1),PA(2),…,PA(m-2),PA(m-1),一对一对应m个非易失性存储单元。让暂存在每一缓冲地址PA(0)至PA(m-1)的写入数据,仅有相对应的非易失性存储单元0至m-1。接着将写入数据的逻辑分配地址LAA(n)的地址序数n除以缓冲地址数目m,由其余数k,取得写入单元的缓冲地址PA(k)。然后将原应依序暂存的写入数据LAA(n),如箭头所示移位暂存在缓冲地址PA(k),以重新排序写入数据在缓冲存储器22的写入单元的缓冲地址。
经由本发明重新排序写入数据暂存的缓冲地址。由于每一写入数据的逻辑分配地址,都依据相对写入单元的m个缓冲地址的余数依序就位,因此写入数据均能依其逻辑分配地址LAA(n)的大小,顺序排列暂存在写入单元的缓冲地址。当写入单元写入一对一对应的非易失性存储单元,也能在相邻的非易失性存储单元中,维持写入数据依其逻辑分配地址LAA(n)的大小顺序相同排列。
然而,使用者在同一工作时段,写入的数据并非全然为相同性质的工作内容,也可能属于相近性质的工作内容,因此写入数据的逻辑分配地址较为分散。更有可能在同一写入单元中,出现几个重新排序后相同缓冲地址的写入数据,以致后处理的写入数据的重新排序缓冲地址已被先处理的写入数据占据,形成非空白的缓冲地址,造成后处理的写入数据,无法依其逻辑分配地址LAA(n)的大小暂存。
如图5所示,为本发明偏移写入数据暂存的缓冲地址的过程。针对前述缓冲地址被先处理的写入数据占据的状态,本发明为了达到尽可能依逻辑分配地址的大小连续排列的状态,对写入数据的逻辑分配地址LAA(n),在重新排序取得写入单元的缓冲地址PA(k)后,先检查缓冲地址PA(k)是否空白,假如为空白,就将写入数据LAA(n)直接暂存至缓冲地址PA(k),否则检查缓冲地址PA(k)已有现有的写入数据逻辑分配地址LAA(n’)占据而为非空白时,利用偏移手段,偏移下一缓冲地址重新排序写入数据的缓冲地址,将写入数据的逻辑分配地址LAA(n)的地址序数n加1除以缓冲地址数目m的余数k+1,取得写入单元的缓冲地址PA(k+1),再检查重新排序缓冲地址的空白状态,不然继续偏移下一缓冲地址,在写入单元依序循环偏移,直到检查重新排序的缓冲地址出现空白,再将写入数据LAA(n)暂存至空白的缓冲地址。
如图6所示,为本发明固态硬盘写入方法的重新排序的流程。本发明固态硬盘对写入数据重新排序写入方法的详细步骤说明如下:在步骤S1,首先本发明固态硬盘在缓冲存储器中规划写入单元,写入单元的缓冲地址一对一对应非易失性存储单元;步骤S2,接收具有逻辑分配地址的写入数据;在步骤S3,利用写入数据逻辑分配地址的地址序数除以缓冲地址数目,由其余数,取得在写入单元重新排序的缓冲地址。接着在步骤S4,检查重新排序的缓冲地址是否为空白?假如重新排序的缓冲地址不是空白,则进入步骤S5,利用偏移手段,偏移下一缓冲地址,将地址序数加1,再回到步骤S3继续重新排序缓冲地址,假如重新排序的缓冲地址是空白,进入步骤S6直接将写入数据暂存至该缓冲地址。然后至步骤S7,等待指令,进行处理下一写入数据或其他作业。
藉由前述流程,本发明就可利用余数重新排序,让写入数据依逻辑分配地址大小的排列,而对被占重新排序缓冲地址的写入数据,利用偏移手段,偏移下一缓冲地址重新排序,写入数据的逻辑分配地址在写入单元中,虽然无法维持依逻辑分配地址大小的理想排列,但基本上写入数据的逻辑分配地址仍能依其逻辑分配地址LAA(n)的大小,大致排列在写入单元的缓冲地址,写入单元写入非易失性存储单元,也可达到在相邻的非易失性存储单元中维持依逻辑分配地址大小大致顺序排列的目的。
请同时参考图7及图8所示,图7为本发明固态硬盘第一阶段写入数据的实施例,图8为本发明固态硬盘第二阶段写入数据的实施例。举一具体实施例说明本发明固态硬盘写入数据的过程。图7中,本发明的固态硬盘在第一阶段,先在缓冲存储器22中规划写入单元1,写入单元1具有一对一对应非易失性存储单元0-7的8个缓冲地址PA(0),PA(1),PA(2),PA(3),PA(4),PA(5),PA(6),PA(7)。假设相同现有技术,接收主机发送的写入数据LAA(0,8,2,3,4,5,6,7,1,9,10,11,12,13,14,15)。对于首先接收的写入数据LAA(0),将写入数据的逻辑分配地址LAA(0)的地址序数0除以缓冲地址数目8,由其余数0,取得重新排序在写入单元1的缓冲地址PA(0)。检查缓冲地址PA(0)为空白,如实线箭头直接将写入数据LAA(0)暂存至写入单元1的缓冲地址PA(0)。然后检查写入单元1的缓冲地址未填满,继续接收写入数据。
接着对接收的写入数据LAA(8),将写入数据的逻辑分配地址LAA(8)的地址序数8除以缓冲地址数目8,由其余数0,取得重新排序在写入单元1的缓冲地址PA(0)。因缓冲地址PA(0)已被写入数据LAA(0)暂存,检查缓冲地址PA(0)为非空白,利用偏移手段,将地址序数8加1除以缓冲地址数目8,由其余数1,重新排序取得缓冲地址PA(1),再检查缓冲地址PA(1)为空白,将原应如虚线箭头暂存,改为如实线箭头将写入数据LAA(8)暂存至写入单元1的缓冲地址PA(1)。再检查写入单元1的缓冲地址未填满,继续接收写入数据。
对后续依序接收的写入数据LAA(2,3,4,5,6,7),取得重新排序在写入单元1的缓冲地址PA(2),PA(3),PA(4),PA(5),PA(6),PA(7),因检查缓冲地址均为空白,可如写入数据LAA(0),依各实线箭头直接将写入数据LAA(2,3,4,5,6,7),一一暂存至写入单元1的缓冲地址PA(2),PA(3),PA(4),PA(5),PA(6),PA(7),并一一检查写入单元1的缓冲地址是否已填满,直到重新排序及暂存写入数据LAA(7)后,检查写入单元1的缓冲地址一旦填满,就同时经由先进先出管道23将暂存在写入单元1缓冲地址PA(0)的写入数据LAA(0)写入固态硬盘的非易失性存储单元0,缓冲地址PA(1)的写入数据LAA(8)写入固态硬盘的非易失性存储单元1,缓冲地址PA(2)的写入数据LAA(2)写入固态硬盘的非易失性存储单元2,缓冲地址PA(3)的写入数据LAA(3)写入固态硬盘的非易失性存储单元3,缓冲地址PA(4)的写入数据LAA(4)写入固态硬盘的非易失性存储单元4,缓冲地址PA(5)的写入数据LAA(5)写入固态硬盘的非易失性存储单元5,缓冲地址PA(6)的写入数据LAA(6)写入固态硬盘的非易失性存储单元6,缓冲地址PA(7)的写入数据LAA(7)写入固态硬盘的非易失性存储单元7,并将写入单元1清空备用,以完成第1阶段的数据写入。
接着进行本发明固态硬盘的第二阶段写入数据,图8中,先在缓冲存储器22中将清空的写入单元1规划为写入单元2。本实施例虽以清空写入单元规划做为下一写入单元使用,但亦可在缓冲存储器22中另寻空间规划下一写入单元,以暂存写入数据作为快取数据。接着由主机继续接收写入数据LAA(1),将写入数据的逻辑分配地址LAA(1)的地址序数1除以缓冲地址数目8,由其余数1,取得重新排序在写入单元2的缓冲地址PA(1)。检查缓冲地址PA(1)为空白,如实线箭头直接将写入数据LAA(1)暂存至写入单元2的缓冲地址PA(1)。然后检查写入单元2的缓冲地址未填满,继续接收写入数据。
接着对接收的写入数据LAA(9),将写入数据的逻辑分配地址LAA(9)的地址序数9除以缓冲地址数目8,由其余数1,取得重新排序在写入单元2的缓冲地址PA(1)。因缓冲地址PA(1)已被写入数据LAA(1)暂存,检查缓冲地址PA(1)为非空白,利用偏移手段,将地址序数9加1除以缓冲地址数目8,由其余数2,重新排序取得缓冲地址PA(2),再检查缓冲地址PA(2)为空白,将原应如虚线箭头暂存,改为如实线箭头将写入数据LAA(9)暂存至写入单元2的缓冲地址PA(2)。再检查写入单元2的缓冲地址未填满,继续接收写入数据。
对后续依序接收的写入数据LAA(10,11,12,13,14),分别取得重新排序在写入单元2的缓冲地址PA(2),PA(3),PA(4),PA(5),PA(6),因检查缓冲地址均为非空白,如写入数据LAA(9),利用偏移手段,将地址序数加1,重新排序取得在写入单元2的缓冲地址PA(3),PA(4),PA(5),PA(6),PA(7),再一一检查缓冲地址为空白,将原应如虚线箭头暂存,改为如实线箭头将写入数据直接暂存至重新排序的缓冲地址。再检查写入单元2的缓冲地址未填满,继续接收写入数据。
接着对接收的写入数据LAA(15),将写入数据的逻辑分配地址LAA(15)的地址序数15除以缓冲地址数目8,由其余数7,取得重新排序在写入单元2的缓冲地址PA(7)。因缓冲地址PA(7)已被写入数据LAA(14)暂存,检查缓冲地址PA(14)为非空白,利用偏移手段,将地址序数15加1再除以缓冲地址数目8,由其余数0,重新排序取得缓冲地址PA(0),再检查缓冲地址PA(0)为空白,将原应如虚线箭头暂存,改为如实线箭头将写入数据LAA(15)暂存至写入单元2的缓冲地址PA(0)。再检查写入单元2的缓冲地址填满,同时经由先进先出管道23将暂存在写入单元2缓冲地址的写入数据LAA(15,1,9,10,11,12,13,14),相对应写入非易失性存储单元0-7。假如主机需要读取数据LAA(0,1,2,3,4,5,6,7)时,因数据LAA(0)与数据LAA(1)分散写入固态硬盘不同的非易失性存储单元0及非易失性存储单元1中,不会因先进先出管道的限制形成卡阻,能在第一时程就同时平行读取数据LAA(0,1,2,3,4,5,6,7),以提高数据读取速度。
如图9所示,为本发明固态硬盘的写入方法的流程。本发明固态硬盘的写入方法详细的步骤说明如下:在步骤P1,首先本发明固态硬盘在缓冲存储器中规划写入单元;步骤P2,从主机接收写入数据;在步骤P3,利用写入数据逻辑分配地址的地址序数除以缓冲地址数目,由其余数,取得在写入单元重新排序的缓冲地址。接着在步骤P4,检查重新排序的缓冲地址是否为空白?假如重新排序的缓冲地址不是空白,则进入步骤P5,利用偏移手段,将地址序数加1,再回到步骤P3继续重新排序缓冲地址,在写入单元循环偏移缓冲地址,直到重新排序到空白的缓冲地址,假如重新排序的缓冲地址是空白,进入步骤P6直接将写入数据暂存至该缓冲地址。
接着在步骤P7,检查写入单元的缓冲地址是否填满?假如写入单元未填满,回到步骤P2,继续从主机接收写入数据,假如检查写入单元已填满,则进入步骤P8,将暂存在写入单元缓冲地址的写入数据,相对应写入非易失性存储单元储存。在步骤P9,检查是否完成接收写入数据?假如未完成接收写入数据,回到步骤P1,继续规划下一写入单元,假如完成接收写入数据,则到步骤P10,等待主机的指令。
经由前述的过程,本发明固态硬盘的写入方法,就可藉由利用接收写入数据的逻辑分配地址,将地址序数除以非易失性存储单元数目或写入单元中缓冲地址数目的余数,作为写入数据暂存在写入单元的缓冲地址,而对于已被暂存的非空白缓冲地址,则利用往下一缓冲地址偏移,作为写入数据暂存在写入单元的缓冲地址,重新排序写入数据暂存的缓冲地址,使写入数据依其逻辑分配地址,在相邻的非易失性存储单元中维持大致顺序排列,以达到提高读取速度的目的。
以上所述,仅为用以方便说明本发明的较佳实施例,本发明的范围不限于这些较佳实施例,凡依本发明所做的任何变更,在不脱离本发明的精神下,皆属本发明申请专利的范围。

Claims (8)

1.一种固态硬盘的写入方法,其步骤包含:
(1)在固态硬盘的缓冲存储器中规划写入单元,写入单元的缓冲地址一对一对应固态硬盘的非易失性存储单元;
(2)接收具有逻辑分配地址的写入数据;
(3)利用写入数据的逻辑分配地址的地址序数除以缓冲地址数目,由其余数,取得在写入单元重新排序的缓冲地址;
(4)检查重新排序的缓冲地址不是空白,则利用偏移手段,将地址序数加1,再回到步骤(3)重新排序;
(5)检查重新排序的缓冲地址是空白,则将写入数据暂存至重新排序的缓冲地址;
(6)等待指令。
2.如权利要求1所述的固态硬盘的写入方法,其中该偏移手段,在写入单元依序循环偏移下一缓冲地址,直到检查重新排序的缓冲地址出现空白,再将写入数据暂存至空白的该重新排序的缓冲地址。
3.如权利要求1所述的固态硬盘的写入方法,其中该步骤(5)将写入数据暂存后,检查写入单元的缓冲地址未填满,回到步骤(2)继续接收写入数据。
4.如权利要求3所述的固态硬盘的写入方法,其中该步骤(5)将写入数据暂存后,检查写入单元的缓冲地址已填满,则将暂存在写入单元缓冲地址的写入数据,相对应写入非易失性存储单元。
5.如权利要求4所述的固态硬盘的写入方法,其中将写入单元写入非易失性存储单元后,再检查未完成接收写入数据时,回到步骤(1)继续规划写入单元。
6.如权利要求5所述的固态硬盘的写入方法,其中将写入单元写入非易失性存储单元后,检查完成接收写入数据时,则等待指令。
7.如权利要求1所述的固态硬盘的写入方法,其中该规划的写入单元,是清空写入单元做为下一写入单元。
8.如权利要求1所述的固态硬盘的写入方法,其中该规划的写入单元,是在缓冲存储器中另寻空间规划下一写入单元。
CN201410079814.9A 2014-03-06 2014-03-06 固态硬盘的写入方法 Expired - Fee Related CN104899155B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410079814.9A CN104899155B (zh) 2014-03-06 2014-03-06 固态硬盘的写入方法
US14/505,856 US9263117B2 (en) 2014-03-06 2014-10-03 Writing method for solid state disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410079814.9A CN104899155B (zh) 2014-03-06 2014-03-06 固态硬盘的写入方法

Publications (2)

Publication Number Publication Date
CN104899155A true CN104899155A (zh) 2015-09-09
CN104899155B CN104899155B (zh) 2017-12-01

Family

ID=54018010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410079814.9A Expired - Fee Related CN104899155B (zh) 2014-03-06 2014-03-06 固态硬盘的写入方法

Country Status (2)

Country Link
US (1) US9263117B2 (zh)
CN (1) CN104899155B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107807799A (zh) * 2017-11-24 2018-03-16 苏州韦科韬信息技术有限公司 固态硬盘的写入方法
CN108572790A (zh) * 2017-04-20 2018-09-25 立而鼎科技(深圳)有限公司 一种固态硬盘写入指令排序方法、固态硬盘

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190046491A (ko) 2017-10-26 2019-05-07 삼성전자주식회사 반도체 메모리, 반도체 메모리를 포함하는 메모리 시스템, 그리고 반도체 메모리의 동작 방법
US12086455B2 (en) * 2020-10-08 2024-09-10 Seagate Technology Llc Data storage system with workload-based asymmetry compensation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634624B2 (en) * 2001-09-28 2009-12-15 Micron Technology, Inc. Memory system for data storage and retrieval
US20110283043A1 (en) * 2009-09-08 2011-11-17 Ocz Technology Group Inc. Large capacity solid-state storage devices and methods therefor
CN103186350A (zh) * 2011-12-31 2013-07-03 北京快网科技有限公司 混合存储系统及热点数据块的迁移方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI528379B (zh) * 2014-02-05 2016-04-01 廣明光電股份有限公司 固態硬碟的讀取方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634624B2 (en) * 2001-09-28 2009-12-15 Micron Technology, Inc. Memory system for data storage and retrieval
US20110283043A1 (en) * 2009-09-08 2011-11-17 Ocz Technology Group Inc. Large capacity solid-state storage devices and methods therefor
CN103186350A (zh) * 2011-12-31 2013-07-03 北京快网科技有限公司 混合存储系统及热点数据块的迁移方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108572790A (zh) * 2017-04-20 2018-09-25 立而鼎科技(深圳)有限公司 一种固态硬盘写入指令排序方法、固态硬盘
CN108572790B (zh) * 2017-04-20 2021-11-26 深圳市得一微电子有限责任公司 一种固态硬盘写入指令排序方法、固态硬盘
CN107807799A (zh) * 2017-11-24 2018-03-16 苏州韦科韬信息技术有限公司 固态硬盘的写入方法

Also Published As

Publication number Publication date
US20150255147A1 (en) 2015-09-10
CN104899155B (zh) 2017-12-01
US9263117B2 (en) 2016-02-16

Similar Documents

Publication Publication Date Title
US8966164B1 (en) Storage processor managing NVME logically addressed solid state disk array
JP6163532B2 (ja) メモリシステムコントローラを含む装置
US20190227720A1 (en) Multi-tier scheme for logical storage management
JP5759623B2 (ja) メモリシステムコントローラを含む装置および関連する方法
EP2737383B1 (en) Flash-dram hybrid memory module
US20160357456A1 (en) Memory device that divides write data into a plurality of data portions for data writing
TWI645295B (zh) 資料儲存裝置與資料儲存方法
US20160253091A1 (en) Methods and systems to reduce ssd io latency
US20160179402A1 (en) Memory system
CN108877862B (zh) 页条带的数据组织以及向页条带写入数据的方法与装置
US10922014B1 (en) Die access order variation
US20130185491A1 (en) Memory controller and a method thereof
CN104899155B (zh) 固态硬盘的写入方法
US9330737B2 (en) Allocating memory address space between DIMMs using memory controllers
US8977800B2 (en) Multi-port cache memory apparatus and method
CN105320462A (zh) 固态硬盘存取数据的方法
CN109783404B (zh) 具有非对称通道的固态存储设备
US11194514B2 (en) Just in time data placement in NAND flash
US10365834B2 (en) Memory system controlling interleaving write to memory chips
CN105320466A (zh) 固态硬盘安排操作的方法
CN105426112A (zh) 固态硬盘动态调整高速缓冲区的方法
US20130339583A1 (en) Systems and methods for transferring data out of order in next generation solid state drive controllers
KR101465447B1 (ko) 외부 병합 정렬 방법, 외부 병합 정렬 시스템 및 외부 병합 정렬을 위한 분산 처리 시스템
CN109101186A (zh) 数据储存装置与数据储存方法
KR101117390B1 (ko) 비휘발성 메모리 장치의 데이터 접근 방법 및 이를 수행하는 프로그램을 기록한 기록매체

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171201

Termination date: 20190306