IP Library Granted Patent US 12,277,348
Granted Patent B2
US 12,277,348 · App. 18/501,943 · Granted Apr 15, 2025

Memory system and information processing system

Inventors: Takeshi Nakano (Kawasaki Kanagawa, JP); Akihiko Ishihara (Yokohama Kanagawa, JP); Shingo Tanimoto (Yokohama Kanagawa, JP); Yasuaki Nakazato (Kamakura Kanagawa, JP); Shinji Maeda (Kawasaki Kanagawa, JP); Minoru Uchida (Yokohama Kanagawa, JP); Kenji Sakaue (Yokohama Kanagawa, JP); Koichi Inoue (Yokohama Kanagawa, JP); Yosuke Kino (Yokohama Kanagawa, JP); Takumi Sasaki (Kawasaki Kanagawa, JP); Mikio Takasugi (Kawasaki Kanagawa, JP); Kouji Saitou (Tokyo, JP); Hironori Nagai (Kamakura Kanagawa, JP); Shinya Takeda (Yokohama Kanagawa, JP); Akihito Touhata (Yokohama Kanagawa, JP); Masaru Ogawa (Ebina Kanagawa, JP); Akira Aoki (Yokosuka Kanagawa, JP)
Assignee: Kioxia Corporation
G06F3/0659G06F3/0604G06F3/0679G06F11/1068
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,277,348
App. No.
18/501,943
Granted
Apr 15, 2025
Kind
B2
Abstract

A memory system includes a non-volatile memory and a controller that includes a first memory and is configured to write log data to the first memory, including a history of commands for controlling the memory system. An information processing system includes the memory system and an information processing device configured to store an expected value and to transmit a signal that instructs the memory system to stop when a value of the log data transmitted from the memory system does not match the expected value. The expected value and the transmitted value are determined based on the log data of the memory system.

Claims (70)

1. A method of controlling a non-volatile memory, the method comprising:

writing log data to a first memory, the log data including a history of commands for controlling the non-volatile memory;

writing the log data from the first memory to a second memory;

detecting an error in the non-volatile memory that occurs when one of the commands is executed; and

writing the log data from the second memory to the non-volatile memory in response to detecting the error in the non-volatile memory.

2. The method according to claim 1 ,

wherein the log data is written in the first memory each time a command is issued to the non-volatile memory.

3. The method according to claim 1 ,

wherein the commands include a command to the non-volatile memory, and the command includes an instruction of a write operation, an erase operation, or a read operation.

4. The method according to claim 1 ,

wherein the method is performed by a controller connected to the non-volatile memory, and the log data further includes temperature information of the controller or of the non-volatile memory or includes an issuance order of the commands.

5. The method according to claim 1 , wherein

the method is performed by a controller included in a memory system, the memory system including a bus,

the bus includes a first signal line output to the non-volatile memory and a second signal line output from the non-volatile memory,

the commands are transmitted via the first signal line output, and

the log data further includes a status of the non-volatile memory transmitted via the second signal line output.

6. The method according to claim 1 , wherein

the method is performed by a controller included in a memory system, the memory system including a first interface connected to an information processing device, and the method further comprising:

transmitting the log data from the first memory to the information processing device via the first interface.

7. The method according to claim 1 , wherein

the non-volatile memory includes a plurality of memory chips, and the method further comprises:

logically dividing the first memory into a plurality of areas, each of which corresponds to one of the plurality of memory chips; and

storing a log of a command issued to one of the plurality of memory chips in at least one area of the plurality of areas, the at least one area corresponding to the one of the plurality of memory chips.

8. The method according to claim 1 , wherein

the non-volatile memory includes a plurality of planes that are able to be accessed at the same time, the plurality of planes including a plurality of blocks which are units of erasure, one of the commands including addresses that designate the plurality of blocks, and the method further comprising:

detecting the one of the commands including the addresses, which designates a block address common to the plurality of planes; and

in response to detecting the one of the commands including the addresses, writing log data in which duplicate block addresses of the one of the commands including the addresses are omitted, to the first memory.

9. The method according to claim 1 , further comprising:

writing log data having different sizes depending on types of commands stored therein.

10. A method of controlling a non-volatile memory, the method comprising:

writing log data to a first memory, the log data including a history of commands for controlling the non-volatile memory;

determining that a first trigger condition is satisfied;

starting to write the log data from the first memory to a second memory in response to determining that the first trigger condition is satisfied;

determining that a second trigger condition is satisfied; and

stopping writing of the log data from the first memory to the second memory in response to determining that the second trigger condition is satisfied.

11. The method according to claim 10 , wherein

the method is performed by a controller connected to the non-volatile memory, the controller including a timer, and

at least one of the first trigger condition and the second trigger condition is that a value of the timer is a first value.

12. The method according to claim 10 , wherein

the log data further includes a flag area, and the method further comprises:

after the first trigger condition is satisfied and before the second trigger condition is satisfied, determining that a state of the second memory is a full state;

in response to determining that the state of the second memory is the full state, discarding log data that is read from the first memory;

determining that the state of the second memory changes from the full state to a non-full state; and

in response to determining that the state of the second memory changes to the non-full state, setting a flag in the flag area of log data that is first written from the first memory to the second memory after the state of the second memory changed.

13. The method according to claim 12 ,

wherein the flag notifies an information processing device of an existence of discarded log data.

14. The method according to claim 10 ,

wherein at least one of the first trigger condition and the second trigger condition is an error which occurs when the non-volatile memory executes one of the commands.

15. The method according to claim 10 , wherein

the method is performed by a controller connected to the non-volatile memory by a bus,

the bus includes a first signal line output to the non-volatile memory and a second signal line output from the non-volatile memory,

one of the commands is transmitted via the first signal line output to the non-volatile memory, and

the log data further includes a status of the non-volatile memory transmitted via the second signal line output from the non-volatile memory.

16. The method according to claim 10 , wherein

the method is performed by a controller included in a memory system, the memory system including a first interface connected to an information processing device, and the method further comprising:

transmitting the log data from the first memory to the information processing device via the first interface.

17. A method of controlling a non-volatile memory, the method comprising:

writing log data to a first memory, the log data including a history of commands for controlling the non-volatile memory;

writing the log data from the first memory into a plurality of areas of a second memory by using a first-in, first-out method, and then transmitting the log data from at least one of the plurality of areas to an information processing device;

determining that new log data has overwritten a portion of the log data written in the first memory, the portion of the log data having been discarded before having a chance to be written to the second memory; and

transmitting a flag indicating an existence of the portion of the log data in the first memory that was discarded, to the information processing device.

18. The method according to claim 17 ,

wherein the log data is written to the first memory each time a command is issued to the non-volatile memory.

19. The method according to claim 17 ,

wherein the method is performed by a controller connected to the non-volatile memory, the log data further including temperature information of the controller or of the non-volatile memory or including an issuance order of the commands.

20. The method according to claim 17 , wherein

the method is performed by a controller included in a memory system, the memory system including a bus,

the bus includes a first signal line output to the non-volatile memory and a second signal line output from the non-volatile memory,

one of the commands is transmitted via the first signal line output, and

the log data further includes a status of the non-volatile memory transmitted via the second signal line output.

Priority Claims (2)
JP 2020-062221 · Mar 31, 2020 · national
JP 2020-173167 · Oct 14, 2020 · national
Continuity (2)
Continuation 17185104 · Feb 25, 2021
Related Publication 20240061620A1 · Feb 22, 2024
References Cited (15)
US 8213255B2 · Hemink et al. · 2012 [cited by applicant]
US 9666249B1 · Park · 2017 [cited by applicant]
US 10229053B2 · Fukutomi et al. · 2019 [cited by applicant]
US 11853599B2 · Nakano · 2023 [cited by examiner]
US 20160117099A1 · Prins et al. · 2016 [cited by applicant]
US 20160154594A1 · Kang · 2016 [cited by applicant]
US 20160344834A1 · Das · 2016 [cited by applicant]
US 20180090218A1 · Takada et al. · 2018 [cited by applicant]
US 20200004430A1 · Navon · 2020 [cited by examiner]
US 20200097217A1 · Yeh · 2020 [cited by applicant]
US 20210166774A1 · Cha et al. · 2021 [cited by applicant]
US 20230043925A1 · Jeong · 2023 [cited by examiner]
JP 2013520760A · 2013 [cited by applicant]
JP 2017174003A · 2017 [cited by applicant]
JP 2018055759A · 2018 [cited by applicant]