JP6398102B2 - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP6398102B2 JP6398102B2 JP2015110461A JP2015110461A JP6398102B2 JP 6398102 B2 JP6398102 B2 JP 6398102B2 JP 2015110461 A JP2015110461 A JP 2015110461A JP 2015110461 A JP2015110461 A JP 2015110461A JP 6398102 B2 JP6398102 B2 JP 6398102B2
- Authority
- JP
- Japan
- Prior art keywords
- translation information
- management unit
- memory
- data
- information
- 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
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/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
- 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/1694—Configuration of memory controller to different memory types
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/1008—Correctness of operation, e.g. memory ordering
-
- 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
Description
図1は、第1の実施形態によるメモリシステムの構成の一例を示す図である。このメモリシステム1は、例えば、SSD(Solid State Drive)である。以下では、不揮発性メモリとしてNAND型のフラッシュメモリ(以下、NANDメモリという)を用いる場合を例に挙げる。
図9は、第2の実施形態によるメモリシステムの構成の一例を示す図である。なお、第1の実施形態と同じ機能を有する構成要素には第1の実施形態と同じ名称および符号を付す。第1の実施形態と同じ機能を有する構成要素について、説明を省略する。
図13は、メモリシステム1の実装例を示す図である。メモリシステム1は、例えばサーバシステム1000に実装される。サーバシステム1000は、ディスクアレイ2000とラックマウントサーバ3000とが通信インタフェース4000によって接続されて構成される。通信インタフェース4000の規格としては任意の規格が採用可能である。ラックマウントサーバ3000は、サーバラックに1以上のホスト2がマウントされて構成される。複数のホスト2は、通信インタフェース4000を介してディスクアレイ2000にアクセスすることができる。
Claims (14)
- ホストに接続可能なメモリシステムであって、
不揮発性の第1メモリと、
揮発性の第2メモリと、
前記ホストからのコマンドに応じて前記ホストと前記第1メモリとの間のデータ転送を実行するデータ処理部と、
前記ホストから指定される位置情報である論理位置情報と前記第1メモリ内の物理的な位置を示す位置情報である物理位置情報との対応関係を示す第1翻訳情報を前記第2メモリにキャッシュして、前記第2メモリにキャッシュされた前記第1翻訳情報である第2翻訳情報を管理する管理部と、
を備え、
前記管理部は、
前記データ処理部が第1データを前記第1メモリに格納する場合に第3翻訳情報を更新し、前記第1データはアトミックライトを指定するモードである第1ライトモードで前記ホストから受信するデータ群に含まれ、前記第3翻訳情報は前記第2翻訳情報の複製であり前記第2メモリに格納されており、
前記第1ライトモードが終了する場合に前記第3翻訳情報を前記第2翻訳情報に反映する、
ことを特徴とするメモリシステム。 - 前記管理部は、前記データ処理部が前記第1メモリから前記ホストへのデータ転送を実行する場合に、前記第2翻訳情報を参照することによって前記第1メモリ内のデータ転送元の物理位置情報を取得する、
ことを特徴とする請求項1に記載のメモリシステム。 - 前記管理部は、前記データ処理部が第2データを前記第1メモリに格納する場合に前記第2翻訳情報を更新し、前記第2データは前記第1ライトモードと異なる第2ライトモードで前記ホストから受信したデータである、
ことを特徴とする請求項2に記載のメモリシステム。 - 前記データ処理部は、エンドコマンドを受信し、
前記管理部は、前記エンドコマンドの受信に応じて前記第3翻訳情報を前記第2翻訳情報に反映する、
ことを特徴とする請求項1に記載のメモリシステム。 - 前記管理部は、前記エンドコマンドの受信の後、かつ、前記データ群のうちの最後の第1データに応じて前記第3翻訳情報を更新した後、前記第3翻訳情報を前記第2翻訳情報に反映する、
ことを特徴とする請求項4に記載のメモリシステム。 - 前記データ処理部は、前記データ群を複数、並行して受信し、
前記管理部は、データ群毎に前記第3翻訳情報を生成する、
ことを特徴とする請求項1に記載のメモリシステム。 - 前記データ処理部は、エンドコマンドをデータ群毎に受信し、
前記管理部は、前記受信されたエンドコマンドに対応するデータ群にかかる第3翻訳情報を前記第2翻訳情報に反映する、
ことを特徴とする請求項6に記載のメモリシステム。 - 前記管理部は、前記受信されたエンドコマンドに対応するデータ群にかかる第3翻訳情報を、前記受信されたエンドコマンドに対応する前記データ群のうちの最後の第1データに応じて更新した後に、前記受信されたエンドコマンドに対応するデータ群にかかる第3翻訳情報を前記第2翻訳情報に反映する、
ことを特徴とする請求項7に記載のメモリシステム。 - 前記エンドコマンドは、対応するデータ群を識別する識別情報を備える、
ことを特徴とする請求項8に記載のメモリシステム。 - 前記管理部は、所定のタイミングで前記第2翻訳情報の更新部分を前記第1メモリに保存する、
請求項1に記載のメモリシステム。 - 前記所定のタイミングは、電源断のタイミングを含む、
請求項10に記載のメモリシステム。 - 前記管理部は、電源復帰後、前記保存された更新部分に基づいて前記第2翻訳情報を復元する、
請求項11に記載のメモリシステム。 - 前記管理部は、前記データ処理部が前記第1ライトモードで前記ホストから受信する前記データ群に含まれるデータを前記第1メモリに最初に格納する場合に前記第2翻訳情報を複製して前記第3翻訳情報を生成する、
請求項1に記載のメモリシステム。 - ホストに接続可能なメモリシステムであって、
不揮発性のメモリと、
前記ホストからのコマンドに応じて前記ホストと前記メモリとの間のデータ転送を実行するデータ処理部と、
論理位置情報と物理位置情報との対応関係を示す第1翻訳情報を管理し、前記論理位置情報は前記ホストから指定される位置情報であり、前記物理位置情報は前記メモリ内の位置を物理的に示す位置情報である、管理部と、
を備え、
前記管理部は、
前記データ処理部が第1データを前記メモリに格納する場合に第2翻訳情報を更新し、前記第1データは第1ライトモードで前記ホストから受信するデータ群に含まれ、前記第2翻訳情報は前記第1翻訳情報の複製であり、
前記第1ライトモードが終了する場合に前記第2翻訳情報を前記第1翻訳情報に反映し、
前記データ処理部は、エンドコマンドを受信し、
前記管理部は、前記エンドコマンドの受信に応じて前記第2翻訳情報を前記第1翻訳情報に反映する、
ことを特徴とするメモリシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015110461A JP6398102B2 (ja) | 2015-05-29 | 2015-05-29 | メモリシステム |
CN201510651436.1A CN106201335B (zh) | 2015-05-29 | 2015-10-10 | 存储系统 |
US15/018,097 US20160350003A1 (en) | 2015-05-29 | 2016-02-08 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015110461A JP6398102B2 (ja) | 2015-05-29 | 2015-05-29 | メモリシステム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018149521A Division JP6640940B2 (ja) | 2018-08-08 | 2018-08-08 | メモリシステムの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016224708A JP2016224708A (ja) | 2016-12-28 |
JP6398102B2 true JP6398102B2 (ja) | 2018-10-03 |
Family
ID=57398435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015110461A Active JP6398102B2 (ja) | 2015-05-29 | 2015-05-29 | メモリシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20160350003A1 (ja) |
JP (1) | JP6398102B2 (ja) |
CN (1) | CN106201335B (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228483B (zh) * | 2016-12-15 | 2021-09-14 | 北京忆恒创源科技股份有限公司 | 处理原子写命令的方法和设备 |
CN108959108B (zh) | 2017-05-26 | 2021-08-24 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
KR102612911B1 (ko) * | 2018-08-31 | 2023-12-13 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
KR20200025821A (ko) * | 2018-08-31 | 2020-03-10 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
US11294807B2 (en) * | 2019-06-25 | 2022-04-05 | Western Digital Technologies, Inc. | Delayed write failure logging |
TWI734220B (zh) * | 2019-07-10 | 2021-07-21 | 慧榮科技股份有限公司 | 主機輸出入命令的執行裝置及方法及電腦程式產品 |
JP7408449B2 (ja) | 2020-03-23 | 2024-01-05 | キオクシア株式会社 | 記憶装置及び記憶方法 |
US11934303B2 (en) * | 2022-05-12 | 2024-03-19 | Micron Technology, Inc. | Atomic write operations |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4058322B2 (ja) * | 2002-10-07 | 2008-03-05 | 株式会社ルネサステクノロジ | メモリカード |
US20090313420A1 (en) * | 2008-06-13 | 2009-12-17 | Nimrod Wiesz | Method for saving an address map in a memory device |
FR2937755B1 (fr) * | 2008-10-24 | 2010-12-31 | Commissariat Energie Atomique | Dispositif pour gerer des tampons de donnees dans un espace memoire reparti sur une pluralite d'elements de memoire |
JP5518197B2 (ja) * | 2009-09-09 | 2014-06-11 | フュージョン−アイオー・インコーポレーテッド | ストレージを割り当てるための装置、システム、および方法 |
US8856438B1 (en) * | 2011-12-09 | 2014-10-07 | Western Digital Technologies, Inc. | Disk drive with reduced-size translation table |
US9075708B1 (en) * | 2011-06-30 | 2015-07-07 | Western Digital Technologies, Inc. | System and method for improving data integrity and power-on performance in storage devices |
KR101824295B1 (ko) * | 2011-08-12 | 2018-01-31 | 샌디스크 테크놀로지스 엘엘씨 | 솔리드 스테이트 장치 가상화를 포함하는 캐시 관리 |
JP2013061814A (ja) * | 2011-09-13 | 2013-04-04 | Toshiba Corp | データ記憶装置、メモリ制御装置及び方法 |
US8862858B1 (en) * | 2012-09-28 | 2014-10-14 | Emc Corporation | Method and system for fast block storage recovery |
KR20150105323A (ko) * | 2013-01-08 | 2015-09-16 | 바이올린 메모리 인코포레이티드 | 데이터 스토리지 방법 및 시스템 |
US9218279B2 (en) * | 2013-03-15 | 2015-12-22 | Western Digital Technologies, Inc. | Atomic write command support in a solid state drive |
US20150074336A1 (en) * | 2013-09-10 | 2015-03-12 | Kabushiki Kaisha Toshiba | Memory system, controller and method of controlling memory system |
GB2527529B (en) * | 2014-06-24 | 2021-07-14 | Advanced Risc Mach Ltd | A device controller and method for performing a plurality of write transactions atomically within a non-volatile data storage device |
-
2015
- 2015-05-29 JP JP2015110461A patent/JP6398102B2/ja active Active
- 2015-10-10 CN CN201510651436.1A patent/CN106201335B/zh active Active
-
2016
- 2016-02-08 US US15/018,097 patent/US20160350003A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN106201335A (zh) | 2016-12-07 |
US20160350003A1 (en) | 2016-12-01 |
CN106201335B (zh) | 2019-07-05 |
JP2016224708A (ja) | 2016-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6398102B2 (ja) | メモリシステム | |
US10248322B2 (en) | Memory system | |
US9910602B2 (en) | Device and memory system for storing and recovering page table data upon power loss | |
US8051258B2 (en) | Apparatus and methods using invalidity indicators for buffered memory | |
US9891825B2 (en) | Memory system of increasing and decreasing first user capacity that is smaller than a second physical capacity | |
US20180275899A1 (en) | Hardware based map acceleration using forward and reverse cache tables | |
US10628303B2 (en) | Storage device that maintains a plurality of layers of address mapping | |
US20110231598A1 (en) | Memory system and controller | |
US20150339058A1 (en) | Storage system and control method | |
JP2016503927A (ja) | ストレージシステム及びキャッシュコントロール方法 | |
US9940071B2 (en) | Memory system that carries out an atomic write operation | |
JP2013222435A (ja) | 半導体記憶装置及びその制御方法 | |
US10223001B2 (en) | Memory system | |
US20150074336A1 (en) | Memory system, controller and method of controlling memory system | |
JP4242245B2 (ja) | フラッシュrom制御装置 | |
US20170199687A1 (en) | Memory system and control method | |
US9798470B2 (en) | Memory system for storing and processing translation information | |
KR101153688B1 (ko) | 데이터 페이지들에 대해 무효화 기회를 부여하는 방법 및 이를 위한 낸드 플래시 메모리 시스템 | |
US20200319999A1 (en) | Storage device, control method of storage device, and storage medium | |
US20080059706A1 (en) | Storage apparatus, storage system and control method for storage apparatus | |
JP6640940B2 (ja) | メモリシステムの制御方法 | |
JP2013196155A (ja) | メモリシステム | |
US20140281157A1 (en) | Memory system, memory controller and method | |
JP7429214B2 (ja) | ストレージシステム及びストレージシステムにおけるデータ複製方法 | |
JP6860722B2 (ja) | メモリシステムの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170605 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170804 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180529 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180702 |
|
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: 20180717 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180809 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180822 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180823 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6398102 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |