JP5368735B2 - ソリッドステートディスクコントローラ及びソリッドステートディスクコントローラのデータ処理方法 - Google Patents
ソリッドステートディスクコントローラ及びソリッドステートディスクコントローラのデータ処理方法 Download PDFInfo
- Publication number
- JP5368735B2 JP5368735B2 JP2008156807A JP2008156807A JP5368735B2 JP 5368735 B2 JP5368735 B2 JP 5368735B2 JP 2008156807 A JP2008156807 A JP 2008156807A JP 2008156807 A JP2008156807 A JP 2008156807A JP 5368735 B2 JP5368735 B2 JP 5368735B2
- Authority
- JP
- Japan
- Prior art keywords
- sector
- memory
- register
- read
- pointer
- 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.)
- Active
Links
- 239000007787 solid Substances 0.000 title claims description 31
- 238000003672 processing method Methods 0.000 title description 11
- 238000013500 data storage Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
Images
Classifications
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/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]
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)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
図1は、本発明の実施形態によるソリッドステートコントローラを含むシステムのブロック図である。図1を参照すれば、コンピュータシステムまたは移動装置のようなシステム10は、ホスト20、SSDコントローラ30、及び不揮発性メモリ装置50を含む。SSDは、不揮発性メモリ装置50、またはSSDコントローラ30と不揮発性メモリ装置50とを含む。
31:揮発性メモリ
39:メモリコントローラ
41:第1レジスタ
43:第2レジスタ
45:ステートマシン
47:バッファメモリ
Claims (5)
- セクタビットマップ値を保存するメモリ領域を含む揮発性メモリと、
読み取り動作時、ポインタが指示する前記メモリ領域に保存された前記セクタビットマップ値に基づいて、外部の不揮発性メモリのページを構成する多数のセクタのうち、少なくとも一つ以上の一部のセクタを選択的に読み取るメモリコントローラと、を含み、
前記メモリコントローラは、
前記ポインタを保存するための第1レジスタと、
第2レジスタと、
前記第1のレジスタに保存された前記ポインタを読み出し、前記ポインタが指示する前記セクタビットマップ値を前記メモリ領域から読み出し、該読み出したセクタビット値を前記第2レジスタに保存し、前記第2レジスタに保存されたセクタビットマップ値を読み出して解析してセクタアドレスとランダムデータ出力命令を出力し、該セクタアドレスとランダムデータ出力に基づいて前記多数のセクタのうち、前記少なくとも一つ以上の一部のセクタを、前記外部の不揮発性メモリから読み取るステートマシンと、
を含み、
前記ステートマシンにおける、前記ポインタの読み出し、前記セクタビットマップ値の前記メモリ領域からの読み出し、読み出したセクタビット値の前記第2レジスタへの保存および該保存されたセクタビットマップ値の読み出しは、ファームウェアの制御外で実施されることを特徴とするソリッドステートディスクコントローラ。 - セクタビットマップ値を保存するメモリ領域を含む揮発性メモリと、
プログラム動作時、ポインタが指示する前記メモリ領域に保存された前記セクタビットマップ値に基づいて、ホストから出力されたデータの少なくとも一つ以上の一部のセクタを外部の不揮発性メモリのページに選択的にプログラムするメモリコントローラと、を含み、
前記メモリコントローラは、
前記ポインタを保存するための第1レジスタと、
前記前記セクタビットマップ値を保存するための第2レジスタと、を含み、
前記セクタビットマップ値の読み出しはファームウェアの制御外で実施されることを特徴とするソリッドステートディスクコントローラ。 - 第1セクタビットマップ値を保存する第1メモリ領域と第2セクタビットマップ値を保存する第2メモリ領域とを含む揮発性メモリと、
読み取り動作時、ポインタが指示する前記第1メモリ領域に保存された前記第1セクタビットマップ値に基づいて、第1外部の不揮発性メモリの第1ページを構成する多数のセクタのうち、少なくとも一つ以上の一部のセクタを選択的に読み取り、前記第2メモリ領域に保存された前記第2セクタビットマップ値に基づいて、第2外部の不揮発性メモリの第2ページを構成する多数のセクタのうち、少なくとも一つのセクタを選択的に読み取るメモリコントローラと、を含み、
前記メモリコントローラは、
前記ポインタを保存するための第1レジスタと、
前記第1セクタビットマップ値と前記第2セクタビットマップ値とを保存するための第2レジスタとを保存するための第2レジスタと、を含み、
前記第1および第2セクタビットマップ値の読み出しはファームウェアの制御外で実施されることを特徴とするソリッドステートディスクコントローラ。 - 前記読み取り動作がインターリービング読み取り動作である場合、前記メモリコントローラは、前記第1外部の不揮発性メモリと前記第2外部の不揮発性メモリとが接続されたチャンネルに読み取り命令を出力することを特徴とする請求項3に記載のソリッドステートディスクコントローラ。
- 不揮発性メモリと、
ソリッドステートディスクコントローラと、
前記不揮発性メモリと前記ソリッドステートディスクコントローラとの間に接続されたチャンネルと、を含み、
前記ソリッドステートディスクコントローラは、
セクタビットマップ値を保存するメモリ領域を含む揮発性メモリと、
読み取り動作時、ポインタが指示する前記メモリ領域に保存された前記セクタビットマップ値に基づいて、前記不揮発性メモリのページを構成する多数のセクタのうち、少なくとも一つ以上の一部のセクタを選択的に読み取るメモリコントローラと、を含み、
前記メモリコントローラは、
前記ポインタを保存するための第1レジスタと、
第2レジスタと、
前記ポインタに基づいて前記セクタビットマップ値を前記メモリ領域から前記第2レジスタに読み取り、前記第2レジスタに保存されたセクタビットマップ値を解析し、該解析結果に基づいて前記多数のセクタのうち、前記少なくとも一つ以上の一部のセクタを少なくとも一つのランダムデータ出力命令に基づいて、前記外部の不揮発性メモリから読み取るステートマシンと、を含み、
前記セクタビットマップ値の読み出しはファームウェアの制御外で実施されることを特徴とするデータ保存装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2007-0071998 | 2007-07-19 | ||
KR1020070071998A KR101424782B1 (ko) | 2007-07-19 | 2007-07-19 | 솔리드 스테이트 디스크 컨트롤러 및 솔리드 스테이트디스크 컨트롤러의 데이터 처리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009026301A JP2009026301A (ja) | 2009-02-05 |
JP5368735B2 true JP5368735B2 (ja) | 2013-12-18 |
Family
ID=40176125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008156807A Active JP5368735B2 (ja) | 2007-07-19 | 2008-06-16 | ソリッドステートディスクコントローラ及びソリッドステートディスクコントローラのデータ処理方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8738842B2 (ja) |
JP (1) | JP5368735B2 (ja) |
KR (1) | KR101424782B1 (ja) |
CN (1) | CN101349963B (ja) |
DE (1) | DE102008033518B4 (ja) |
TW (1) | TWI479502B (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101070511B1 (ko) * | 2009-03-20 | 2011-10-05 | (주)인디링스 | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 |
US20110252435A1 (en) * | 2009-07-13 | 2011-10-13 | Juhnho Park | Disk drive |
US8164936B2 (en) * | 2009-10-14 | 2012-04-24 | Seagate Technology Llc | Switched memory devices |
US9229809B2 (en) | 2011-09-11 | 2016-01-05 | Microsoft Technology Licensing Llc | Nonvolatile media journaling of verified data sets |
US8456972B2 (en) | 2011-09-12 | 2013-06-04 | Microsoft Corporation | Efficient access to storage devices with usage bitmaps |
CN103377130A (zh) * | 2012-04-13 | 2013-10-30 | 日立(中国)研究开发有限公司 | 数据存储设备以及相应的数据存储方法 |
CN106155578A (zh) * | 2015-04-27 | 2016-11-23 | 四川效率源信息安全技术有限责任公司 | 手机闪存芯片数据重组的方法 |
KR102465321B1 (ko) | 2016-03-02 | 2022-11-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
KR102535104B1 (ko) * | 2018-03-19 | 2023-05-23 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20190128392A (ko) * | 2018-05-08 | 2019-11-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN110262753A (zh) * | 2019-05-30 | 2019-09-20 | 合肥致存微电子有限责任公司 | 一种加快命令响应的方法、系统以及ssd |
CN114063933B (zh) * | 2021-12-02 | 2022-06-28 | 深圳市宝佳乐电子科技有限公司 | 区块管理方法、存储器控制器和存储器存储装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6481028A (en) * | 1987-09-22 | 1989-03-27 | Fanuc Ltd | Data memory system |
JPH0628261A (ja) | 1992-04-17 | 1994-02-04 | Hitachi Ltd | データ転送方法及び装置 |
JPH07262059A (ja) | 1994-03-25 | 1995-10-13 | Sony Corp | ファイル管理方法 |
JPH07319636A (ja) | 1994-05-27 | 1995-12-08 | Fuji Xerox Co Ltd | 磁気ディスクのデータ格納制御装置 |
JPH0877099A (ja) * | 1994-09-02 | 1996-03-22 | Fuji Xerox Co Ltd | Dmaコントローラ |
GB2291990A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Flash-memory management system |
JP3063669B2 (ja) | 1997-04-04 | 2000-07-12 | 三菱電機株式会社 | 情報処理システム |
JP3849241B2 (ja) * | 1997-08-11 | 2006-11-22 | ソニー株式会社 | 記憶装置 |
US5956743A (en) * | 1997-08-25 | 1999-09-21 | Bit Microsystems, Inc. | Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations |
JP2000285017A (ja) * | 1999-03-31 | 2000-10-13 | Seiko Epson Corp | 記憶装置 |
US20050114587A1 (en) | 2003-11-22 | 2005-05-26 | Super Talent Electronics Inc. | ExpressCard with On-Card Flash Memory with Shared Flash-Control Bus but Separate Ready Lines |
US7702831B2 (en) * | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | Flash memory controller for electronic data flash card |
US7394661B2 (en) | 2004-06-30 | 2008-07-01 | Super Talent Electronics, Inc. | System and method for providing a flash memory assembly |
US7318117B2 (en) * | 2004-02-26 | 2008-01-08 | Super Talent Electronics, Inc. | Managing flash memory including recycling obsolete sectors |
US20060075395A1 (en) * | 2004-10-01 | 2006-04-06 | Lee Charles C | Flash card system |
JP3923715B2 (ja) * | 2000-09-29 | 2007-06-06 | 株式会社東芝 | メモリカード |
US7089379B1 (en) * | 2002-06-28 | 2006-08-08 | Emc Corporation | Large high bandwidth memory system |
US7675828B2 (en) | 2003-02-25 | 2010-03-09 | Lg Electronics Inc. | Recording medium having data structure for managing at least a data area of the recording medium and recording and reproducing methods and apparatuses |
KR100528482B1 (ko) * | 2003-12-31 | 2005-11-15 | 삼성전자주식회사 | 데이타를 섹터 단위로 랜덤하게 입출력할 수 있는 플래시메모리 시스템 |
EP1607879A1 (en) * | 2004-06-14 | 2005-12-21 | Dialog Semiconductor GmbH | Memory interleaving in a computer system |
JP4665510B2 (ja) * | 2004-12-20 | 2011-04-06 | ソニー株式会社 | 暗号化データ記録装置 |
KR100621631B1 (ko) * | 2005-01-11 | 2006-09-13 | 삼성전자주식회사 | 반도체 디스크 제어 장치 |
-
2007
- 2007-07-19 KR KR1020070071998A patent/KR101424782B1/ko active IP Right Grant
-
2008
- 2008-06-16 JP JP2008156807A patent/JP5368735B2/ja active Active
- 2008-06-26 US US12/147,067 patent/US8738842B2/en active Active
- 2008-07-10 TW TW097126165A patent/TWI479502B/zh active
- 2008-07-14 DE DE102008033518.5A patent/DE102008033518B4/de active Active
- 2008-07-15 CN CN2008101361001A patent/CN101349963B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
DE102008033518B4 (de) | 2021-10-14 |
TWI479502B (zh) | 2015-04-01 |
KR101424782B1 (ko) | 2014-08-04 |
US8738842B2 (en) | 2014-05-27 |
CN101349963A (zh) | 2009-01-21 |
JP2009026301A (ja) | 2009-02-05 |
US20090024791A1 (en) | 2009-01-22 |
CN101349963B (zh) | 2013-03-06 |
DE102008033518A1 (de) | 2009-02-05 |
TW200905696A (en) | 2009-02-01 |
KR20090008766A (ko) | 2009-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5368735B2 (ja) | ソリッドステートディスクコントローラ及びソリッドステートディスクコントローラのデータ処理方法 | |
KR101581857B1 (ko) | 불휘발성 메모리 시스템 및 그것의 인터리브 유닛 구성 방법 | |
KR101891164B1 (ko) | 프로그램 스케줄러를 포함하는 플래시 메모리 장치 | |
KR101431205B1 (ko) | 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법 | |
US9524781B2 (en) | Nonvolatile memory device and operating method thereof | |
JP2012505472A (ja) | ソリッドステート記憶装置におけるトランスレーションレイヤ | |
US20140351487A1 (en) | Nonvolatile memory and related reprogramming method | |
JP2012506093A (ja) | ソリッドステート記憶装置内のホットメモリブロックテーブル | |
US11086568B2 (en) | Memory system for writing fractional data into nonvolatile memory | |
US20190163623A1 (en) | Memory system and operating method thereof | |
JP5017565B2 (ja) | フラッシュメモリチップを動作させる方法 | |
KR102526608B1 (ko) | 전자 장치 및 그것의 동작 방법 | |
KR102180595B1 (ko) | 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 시스템 | |
KR101543433B1 (ko) | 반도체 메모리 장치 및 그것을 포함하는 메모리 시스템 | |
KR20210024269A (ko) | 빠른 읽기 페이지를 포함하는 불휘발성 메모리 장치 및 이를 포함하는 스토리지 장치 | |
US10365834B2 (en) | Memory system controlling interleaving write to memory chips | |
KR20170059702A (ko) | 패브릭 네트워크를 이용한 파워 관리 방법 및 이를 적용하는 패브릭 네트워크 시스템 | |
KR20140011667A (ko) | 복수의 불휘발성 메모리 칩들을 포함하는 저장 장치 및 그것의 제어 방법 | |
US11461238B2 (en) | Storage device, memory controller, and method for fetching write commands from submission queues to perform full page writes | |
US11688472B2 (en) | Memory device for passing verify operation and operating method of the same | |
US8954662B2 (en) | SSD controller, and method for operating an SSD controller | |
US20180113803A1 (en) | Operation method of memory controller and operation method of storage device including the same | |
CN117908762A (zh) | 存储器装置及存储器操作方法 | |
US11294596B2 (en) | Memory controller and operating method thereof | |
TWI523016B (zh) | 用來管理一記憶裝置之方法以及記憶裝置與控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110601 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110629 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121228 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130305 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130704 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130711 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130820 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130913 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5368735 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |