RU2015151012A - Запоминающие системы и память с привязками - Google Patents

Запоминающие системы и память с привязками Download PDF

Info

Publication number
RU2015151012A
RU2015151012A RU2015151012A RU2015151012A RU2015151012A RU 2015151012 A RU2015151012 A RU 2015151012A RU 2015151012 A RU2015151012 A RU 2015151012A RU 2015151012 A RU2015151012 A RU 2015151012A RU 2015151012 A RU2015151012 A RU 2015151012A
Authority
RU
Russia
Prior art keywords
memory
binding
request
block
data
Prior art date
Application number
RU2015151012A
Other languages
English (en)
Other versions
RU2669008C2 (ru
Inventor
Вилльям Р. ТИПТОН
Сурендра ВЕРМА
Лэнди ВАН
Малколм Джеймс СМИТ
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
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 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2015151012A publication Critical patent/RU2015151012A/ru
Application granted granted Critical
Publication of RU2669008C2 publication Critical patent/RU2669008C2/ru

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
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/065Replication 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/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk

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)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Claims (23)

1. Контроллер памяти, содержащий:
схему для доступа к данным в энергонезависимой памяти;
интерфейс, выполненный с возможностью принимать от драйвера файловой системы запрос на создание привязки между блоком памяти запоминающей системы и блоком памяти основной памяти, при этом блок памяти запоминающей системы предназначен для использования при хранении данных запоминающей системы, а блок памяти основной системы предназначен для использования применительно к основной памяти компьютера;
схему установления привязок, выполненную с возможностью создания привязки между блоком памяти запоминающей системы и блоком памяти основной памяти; и
схему извлечения, выполненную с возможностью получения данных из блока запоминающей системы в ответ на запрос считывания в отношении данных блока основной памяти, если привязка не разорвана,
при этом энергонезависимая память разделена на область файловой системы и область памяти, и при этом блок памяти запоминающей системы располагается в области файловой системы, а блок основной памяти располагается в области памяти.
2. Контроллер памяти по п.1, в котором схема установления привязок, будучи выполненной с возможностью создания привязки между блоком памяти запоминающей системы и блоком памяти основной памяти, выполнена с возможностью создавать привязку от каждого подблока блока памяти основной памяти к каждому соответствующему подблоку блока памяти запоминающей системы, и поддерживать каждую привязку до ее разрыва.
3. Контроллер памяти по п.1, в котором схема извлечения дополнительно выполнена с возможностью, в ответ на запрос считывания, получать первые данные из подблоков блока запоминающей системы, если привязки не были разорваны, и получать вторые данные из подблоков блока основной памяти, если привязки были разорваны, причем схема извлечения дополнительно выполнена с возможностью объединения первых данных и вторых данных для ответа на запрос считывания.
4. Контроллер памяти по п.1, в котором схема установления привязок дополнительно выполнена с возможностью разрыва привязки от первого подблока ко второму подблоку в ответ на запрос на запись в первый подблок или на запись во второй подблок.
5. Контроллер памяти по п.4, в котором схема установления привязок дополнительно выполнена с возможностью разрыва привязки от первого подблока ко второму подблоку после запроса на запись и непосредственно перед обслуживанием запроса на считывание из первого подблока.
6. Контроллер памяти по п.1, дополнительно содержащий схему копирования, выполненную с возможностью ответа на запрос на копирование блока основной памяти в новое местоположение, при этом схема копирования дополнительно выполнена с возможностью отвечать на запрос на копирование блока основной памяти в новое местоположение посредством оставления данных в блоке основной памяти и изменения элементов соответствия так, чтобы эти данные выдавались, когда они запрашиваются из упомянутого нового местоположения.
7. Контроллер памяти по п.1, дополнительно содержащий схему обнуления, выполненную с возможностью отвечать на запрос на обнуление запрошенного диапазона памяти, который включает в себя всю основную память или некоторую ее часть, при этом схема обнуления дополнительно выполнена с возможностью отвечать на запрос на обнуление запрошенного диапазона памяти посредством маркировки того, что запрошенный диапазон является обнуленным, и, впоследствии, в ответ на запрос считывания, который задействует запрошенный диапазон памяти, помещения нулей в кэш считывания.
8. Контроллер памяти по п.1, в котором схема установления привязок дополнительно выполнена с возможностью переустановления привязки блока с привязкой в ответ на запрос на перемещение этого блока с привязкой.
9. Способ, реализуемый, по меньшей мере, частично компьютером, при этом способ содержит этапы, на которых:
в интерфейсе контроллера памяти контроллера памяти, выполненного с возможностью доступа к энергонезависимой памяти, принимают от драйвера файловой системы запрос на создание привязки между блоком памяти запоминающей системы и блоком памяти основной памяти, при этом блок памяти запоминающей системы предназначен для использования при хранении данных запоминающей системы, а блок памяти основной системы предназначен для использования применительно к основной памяти компьютера;
обновляют схемную структуру для создания привязки между блоком памяти запоминающей системы и блоком памяти основной памяти; и
в ответ на запрос данных, каковой запрос указывает блок памяти основной памяти, предоставляют данные из блока памяти запоминающей системы,
при этом энергонезависимая память разделена на область файловой системы и область памяти, и при этом блок памяти запоминающей системы располагается в области файловой системы, а блок основной памяти располагается в области памяти.
10. Компьютерный носитель информации с исполняемыми компьютером инструкциями, которые при их исполнении выполняют действия, содержащие:
отправку, от драйвера файловой системы операционной системы, запроса в интерфейс контроллера памяти, который выполнен с возможностью доступа к энергонезависимой памяти, причем данным запросом запрашивается создание привязки между первым блоком памяти и вторым блоком памяти, при этом первый блок памяти предназначен для использования при хранении данных запоминающей системы, а второй блок памяти предназначен для использования применительно к основной памяти компьютера;
отправку, от драйвера файловой системы в контроллер памяти, запроса данных, каковой запрос указывает первый блок памяти; и
прием от контроллера памяти, в ответ на этот запрос данных, данных из второго блока памяти,
при этом энергонезависимая память разделена на область файловой системы и область памяти, и при этом блок памяти запоминающей системы располагается в области файловой системы, а блок основной памяти располагается в области памяти.
RU2015151012A 2013-05-29 2014-05-28 Запоминающие системы и память с привязками RU2669008C2 (ru)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361828636P 2013-05-29 2013-05-29
US61/828,636 2013-05-29
US14/036,298 2013-09-25
US14/036,298 US9678689B2 (en) 2013-05-29 2013-09-25 Storage systems and aliased memory
PCT/US2014/039634 WO2014193862A2 (en) 2013-05-29 2014-05-28 Storage systems and aliased memory

Publications (2)

Publication Number Publication Date
RU2015151012A true RU2015151012A (ru) 2017-06-01
RU2669008C2 RU2669008C2 (ru) 2018-10-05

Family

ID=51986493

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015151012A RU2669008C2 (ru) 2013-05-29 2014-05-28 Запоминающие системы и память с привязками

Country Status (8)

Country Link
US (2) US9678689B2 (ru)
EP (1) EP3005126B1 (ru)
JP (1) JP6324494B2 (ru)
CN (1) CN105339909B (ru)
BR (1) BR112015029108B1 (ru)
ES (1) ES2865575T3 (ru)
RU (1) RU2669008C2 (ru)
WO (1) WO2014193862A2 (ru)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9678689B2 (en) * 2013-05-29 2017-06-13 Microsoft Technology Licensing, Llc Storage systems and aliased memory
US10049052B2 (en) * 2014-10-27 2018-08-14 Nxp Usa, Inc. Device having a cache memory
US9740414B2 (en) 2015-10-29 2017-08-22 Pure Storage, Inc. Optimizing copy operations
KR20170076878A (ko) * 2015-12-24 2017-07-05 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10210088B2 (en) 2015-12-28 2019-02-19 Nxp Usa, Inc. Computing system with a cache invalidation unit, a cache invalidation unit and a method of operating a cache invalidation unit in a computing system
US11237758B2 (en) * 2016-08-06 2022-02-01 Wolley Inc. Apparatus and method of wear leveling for storage class memory using address cache
US10387304B2 (en) * 2017-12-28 2019-08-20 Intel Corporation Virtual transfer of data between memory and storage domains

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5119290A (en) * 1987-10-02 1992-06-02 Sun Microsystems, Inc. Alias address support
JPH05158782A (ja) * 1991-12-06 1993-06-25 Hitachi Ltd 記憶装置
US6438672B1 (en) * 1999-06-03 2002-08-20 Agere Systems Guardian Corp. Memory aliasing method and apparatus
CN100442393C (zh) * 1999-10-21 2008-12-10 松下电器产业株式会社 半导体存储卡的访问装置、初始化方法和半导体存储卡
US6625725B1 (en) * 1999-12-22 2003-09-23 Intel Corporation Speculative reuse of code regions
GB2372589B (en) * 2001-02-21 2003-01-22 3Com Corp Memory aliasing in a processor system
US7900017B2 (en) * 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
JP2004362464A (ja) * 2003-06-06 2004-12-24 Sony Corp 不揮発メモリを利用したコンピュータシステム
US20050138307A1 (en) * 2003-12-18 2005-06-23 Grimsrud Knut S. Storage performance improvement using data replication on a disk
US20110029723A1 (en) 2004-08-06 2011-02-03 Super Talent Electronics, Inc. Non-Volatile Memory Based Computer Systems
US8417915B2 (en) * 2005-08-05 2013-04-09 Arm Limited Alias management within a virtually indexed and physically tagged cache memory
US7872657B1 (en) * 2006-06-16 2011-01-18 Nvidia Corporation Memory addressing scheme using partition strides
US7747817B2 (en) * 2006-06-28 2010-06-29 Unity Semiconductor Corporation Performing data operations using non-volatile third dimension memory
JP4783229B2 (ja) * 2006-07-19 2011-09-28 パナソニック株式会社 キャッシュメモリシステム
JP2009009665A (ja) * 2007-06-29 2009-01-15 Elpida Memory Inc 半導体記憶装置
US8074034B2 (en) * 2007-07-25 2011-12-06 Agiga Tech Inc. Hybrid nonvolatile ram
US7855916B2 (en) 2007-10-24 2010-12-21 Rao G R Mohan Nonvolatile memory systems with embedded fast read and write memories
US8250282B2 (en) * 2009-05-14 2012-08-21 Micron Technology, Inc. PCM memories for storage bus interfaces
US8412987B2 (en) * 2009-06-30 2013-04-02 Micron Technology, Inc. Non-volatile memory to store memory remap information
US20130033957A1 (en) * 2011-08-04 2013-02-07 Spar Food Machinery Manufacturing Co., Ltd. Stirrer having Programmable Stirring Mode Control
WO2013048483A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Platform storage hierarchy with non-volatile random access memory having configurable partitions
KR101692417B1 (ko) * 2011-12-29 2017-01-05 인텔 코포레이션 다이렉트 액세스를 갖는 다중-레벨 메모리
US9552176B2 (en) 2013-04-12 2017-01-24 Microsoft Technology Licensing, Llc Block storage using a hybrid memory device
US9678689B2 (en) * 2013-05-29 2017-06-13 Microsoft Technology Licensing, Llc Storage systems and aliased memory

Also Published As

Publication number Publication date
JP2016524228A (ja) 2016-08-12
US20140359203A1 (en) 2014-12-04
EP3005126A2 (en) 2016-04-13
US9678689B2 (en) 2017-06-13
US20170262207A1 (en) 2017-09-14
WO2014193862A3 (en) 2015-04-09
WO2014193862A2 (en) 2014-12-04
US10216437B2 (en) 2019-02-26
RU2669008C2 (ru) 2018-10-05
BR112015029108A2 (pt) 2017-07-25
ES2865575T3 (es) 2021-10-15
JP6324494B2 (ja) 2018-05-16
BR112015029108B1 (pt) 2022-05-17
CN105339909A (zh) 2016-02-17
CN105339909B (zh) 2018-08-24
EP3005126B1 (en) 2021-03-31

Similar Documents

Publication Publication Date Title
RU2015151012A (ru) Запоминающие системы и память с привязками
US10282132B2 (en) Methods and systems for processing PRP/SGL entries
US8769232B2 (en) Non-volatile semiconductor memory module enabling out of order host command chunk media access
KR101790913B1 (ko) 플래시 메모리에 저장된 데이터의 추론적 프리페칭
JP2018018557A5 (ru)
JP2014179084A5 (ru)
US10795599B2 (en) Data migration method, host and solid state disk
US9678760B2 (en) Memory card and storage system having authentication program and method for operating thereof
KR20120082218A (ko) 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
KR20170097609A (ko) 압축된 데이터 백그라운드를 캐싱하는 장치, 시스템 및 방법
JP2009276853A (ja) フラッシュメモリ装置
JP2014182832A5 (ja) 格納装置、不揮発性格納装置及びその運営体系イメージプログラム方法
JP2016524228A5 (ru)
CN108132760B (zh) 一种提升ssd读性能的方法及系统
CN110457236A (zh) 存储系统以及对存储系统执行和验证写保护的方法
EP3142014B1 (en) Method, device and user equipment for reading/writing data in nand flash
JP2014164769A5 (ru)
JP2015507798A5 (ru)
US20160342542A1 (en) Delay destage of data based on sync command
CN105138481A (zh) 存储数据的处理方法、装置和系统
JP2017518574A5 (ru)
US20180011660A1 (en) Write tracking for memories
US20140219041A1 (en) Storage device and data processing method thereof
US10140055B2 (en) Ensuring that memory device actions are valid using reference values
JP2013235531A5 (ru)